k8s的接口文档——swagger-ui服务

news2024/11/21 2:33:15

文章目录

  • 1. 获取配置文件
  • 2. 启动swagger-ui
    • 2.1 用docker部署
    • 2.2 用docker-compose部署
    • 2.3 在k8s平台部署

1. 获取配置文件

  • 开启k8s的api临时端口

说明:

  • 为导出k8s集群的api信息作为swagger-ui的配置文件,我们临时开一个api的临时端口
  • 该端口:只允许本地访问,不需要认证
  • 临时开一下就可以,导出后我们关掉它。
 kubectl proxy --port=8082
  • 获取配置文件

上边的命令前台输出,因此我们从新开一个终端,输入如下命令

curl localhost:8080/openapi/v2 > k8s-swagger.json

2. 启动swagger-ui

创建swagger-ui目录,将k8s-swagger.json文件拷贝到该目录。(必要,否则只有demo)

之后我们可以用以下几种方式启动:

2.1 用docker部署

  • swagger-ui目录命令如下:
docker run \
    --rm \
    -d \
    -p 81:8080 \
    -e SWAGGER_JSON=/k8s-swagger.json \
    -v $(pwd)/k8s-swagger.json:/k8s-swagger.json \
    swaggerapi/swagger-ui
  • web访问见2.2示例

2.2 用docker-compose部署

  • swagger-ui目录下创建docker-compose.yml 文件,内容如下:
version: '3'
services:
  swagger_ui:
    image: 'swaggerapi/swagger-ui'
    restart: always
    container_name: swagger-ui
    volumes:
      - ./k8s-swagger.json:/k8s-swagger.json
    ports:
      - '81:8080'
    environment:
      SWAGGER_JSON: /k8s-swagger.json
  • 启动服务
docker-compose up -d
  • 查看结果
[root@crust-m01 swagger-ui]# docker-compose ps
   Name                 Command               State              Ports
----------------------------------------------------------------------------------
swagger-ui   /docker-entrypoint.sh ngin ...   Up      80/tcp, 0.0.0.0:81->8080/tcp
  • web访问
    在这里插入图片描述

2.3 在k8s平台部署

  • 从刚才导出的k8s-swagger.json文件创建configmap
kubectl create configmap k8s-swagger --from-file=k8s-swagger.json=k8s-swagger.json
  • 创建deployment.yml文件如下:
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: swagger
  name: swagger
  namespace: kube-system
spec:
  replicas: 1
  selector:
    matchLabels:
      app: swagger
  template:
    metadata:
      labels:
        app: swagger
    spec:
      containers:
        - image: harbocto.boe.com.cn/public/swagger-ui
          imagePullPolicy: IfNotPresent
          name: swagger
          volumeMounts:
          - mountPath: /k8s-swagger.json 
            name: k8s-swagger
            subPath: k8s-swagger.json
      volumes:		  
      - name: k8s-swagger
        configMap:
          name: k8s-swagger	
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: swagger
  name: swagger
  namespace: kube-system
spec:
  ports:
    - port: 8080
      protocol: TCP
      targetPort: 8080
      nodePort: 30001
  selector:
    app: swagger
  type: NodePort
  • url:http://IP:3001
    效果同docker-compose启动方式

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/10608.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt 中设置窗体(QWidget)透明度的几种方法

Qt 中设置窗体(QWidget)透明度的几种方法 1. 设置窗体的背景色 在构造函数里添加代码,需要添加头文件qpalette或qgui QPalette pal palette(); pal.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x00)); setPalette(pal); 通过设置窗体的背景色来实…

连花清瘟卖断货?近一个月解热药价格暴涨33%,销额超206万元

近日,“连花清瘟生产商以岭药业正在疯狂招短期工”的消息登上热搜,以岭药业一度涨停。此外,石家庄其他感冒类药品也迎来线上线下一同销量大涨。 为此,鲸参谋特意查询了京东平台近一个月“解热镇痛”类药品的销售数据。可以看到&am…

SpringBoot自定义banner,如何定制炫酷的banner提升项目B格?

文章目录写在前面自定义banner使用banner.txt文件使用图片手写一个bannerbanner参数在 application.properties 文件中可以配置banner其他属性banner自身参数源码分析在线生成banner写在前面 Springboot启动的时候默认是有一套自己的banner的: 我们如何自定义这个…

SpringBoot+Vue项目大学生网络教学平台的设计与实现

文末获取源码 开发语言:Java 使用框架:spring boot 前端技术:JavaScript、Vue 、css3 开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库:MySQL 5.7/8.0 数据库管理工具:phpstudy/Navicat JDK版…

retrofit网络框架源码解析

App应用程序通过Retrofit 请求网络,实际上是使用Retrofit接口层封装请求参数,之后由OkHttp完成后续的请求操作。在服务器返回数据之后,OkHttp将原始的结果交给Retrofit,Retrofit根据用户的需求对结果进行解析。 一、retrofit框架网…

【Android】扩展BaseExpandableListAdpter实现ExpandableAdapter

今天分享如何扩展BaseExpandableListAdpter实现ExpandableAdapter,很简单的一个例子。 效果示例: 核心是重写BaseExpandableListAdpter,其中BaseExpandableListAdpter则分成了两部分:组和子列表,要注意的是&#xff0…

IDEA远程debug教程

IDEA远程debug教程 当你在本地开发的时候,你需要调试服务器上的程序时,远程调试就显得非常有用。 JAVA 支持调试功能,本身提供了一个简单的调试工具JDB,支持设置断点及线程级的调试同时,不同的JVM通过接口的协议联系…

【Netty源码系列(二)】解读EventLoopGroup

【Netty源码系列文章中源码出自4.1.84.Final版本】 文章目录1. EventLoopGroup接口类2. NioEventLoopGroup创建过程2.1 Executor实现机制2.2 EventLoop对象创建(newChild()方法)本篇文章主要看一下 EventLoopGroup的源码,了解一下它的创建过程…

二、react的组件-state-props-setState

目标 理解组件和组件的创建、以及能够根据实际场景去划分合理的组件。理解并且能够灵活的应用组件中的state、props。可以使用组件去实现各种前端交互。 知识点 组件的定义:组件能够表示一块视图的结构表现以及逻辑交互,并且可以重复利用。如何创建组件…

【ROS】机械人开发四--ROS常用概念与Launch文件

机械人开发四--ROS常用概念与Launch文件一、ROS常用概念1.1 ROS 的结构1.2 ROS 话题通信1.3 海龟仿真器 仿真 例程二、Launch文件2.1 功能2.2 文件语法2.3 参数服务器2.4 节点分组与重命名标签一、ROS常用概念 1.1 ROS 的结构 ROS 中有一些很重要的基础概念:节点&…

四、ref与DOM-findDomNode-unmountComponentAtNode

目标 理解react的框架使用中,真实dom存在的意义。 使用真实dom和使用虚拟dom的场景。 灵活掌握并能够合理使用操作真实dom的方法。 知识点 react中提供了ref这个属性来获取原生的dom节点,使用方式:在虚拟dom中添加ref属性,即可…

笔试强训(三十七)

目录一、选择题二、编程题2.1 mkdir2.1.1 题目2.1.2 题解2.2 数据库连接池2.2.1 题目2.2.2 题解一、选择题 (1)下面关于源端口地址和目的端口地址的描述中,正确的是(A) A.在TCP/UDP传输段中,源端口地址和目…

从内部失衡到外部失衡-中国视角下的宏观经济

从内部失衡到外部失衡 – 潘登同学的宏观经济学笔记 文章目录从内部失衡到外部失衡 -- 潘登同学的宏观经济学笔记国际金融复习全球失衡与储蓄过剩利用拉姆齐模型进行分析数值模拟外部失衡与国际收支危机国际支付工具的作用资产价格泡沫国际收支危机亚洲金融危机中国在亚洲金融危…

智能家居项目开发准备工作

智能家居代码机构——简单工厂模式: 什么是设计模式?百度百科解释: 软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设…

好心情精神心理平台:精神疾病怎样才算「治好」?医生和患者眼中的标准不一样!

精神疾病恢复到什么程度才算「治好」了? 很多患者朋友认为,症状消失就代表病好了,就可以停药了。 不是我吓唬你,如果你见症状好转就停药,那病情出现反复是必然结果。 实现疾病症状的消除,这只是达到了「临…

[附源码]java毕业设计驾校管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

[附源码]java毕业设计基于的疫苗预约系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

详解VSCode中C++工程配置

安装MinGW-w64及环境变量配置 下载MinGW-w64 可以通过官网直接进行下载在线安装包,然后在本地进行安装即可(但是基本都会由于网络超时等各种原因终止)。 因此这里建议直接下载 MinGW-w64 库解压,然后在系统中指定环境变量即可。…

低资源场景下的命名实体识别

Overview 低资源下的命名实体识别主要分为两个方面,一种是in-domain下的N-way-K-shot类型的少样本,一种是cross-domain下现在资源丰富的sourc-domain上进行微调,之后再迁移到低资源的target-domain进一步微调。 基于prompt的方法在少样本分…

C语言学习-数组(4)

目录 思维导图: 1. 一维数组的创建和初始化 1.1 数组的创建 1.2 数组的初始化 1.3 一维数组的使用 1.4 一维数组在内存中的存储 2. 二维数组的创建和初始化 2.1 二维数组的创建 2.2 二维数组的初始化 2.3 二维数组的使用 2.4 二维数组在内存中的存…