想都不敢想,K8S 居然有这种可视化神器!

Go编程时光

共 1361字,需浏览 3分钟

 · 2021-07-28

在工作中,你可能需要基于 Kubernetes 提供的 API 进行开发,比如开发适合自己的控制台,Kubernetes 官方提供的 API 文档,有两个问题:


  1. 非常的不直观,这个问题其实还好,自己克服一下也不是大问题

  2. 只有 K8S api-server 的接口,这个就难办了,假如有新的 CRD 资源,比如 kubevirt ,又要去找 kubevirt 的 api 文档?关键是不一定找得着

今天明哥给大家介绍一个工具,可以帮你解决这个问题。

这个工具叫 swagger-ui,可以把 k8s 暴露的 http 接口文档以 UI 界面呈现给你,你甚至还可以在上面进行调试,生成 curl 的请求命令。

# 1. 如何部署 swagger-ui

打开两个 ssh 连接到你的 K8S 集群中。

进入第一个窗口,执行如下命令建立一个反向代理

kubectl proxy --port=8080

进入第二个窗口,执行如下命令建立获取 k8s的 api 文档信息,输出到一个 k8s-swagger.json 文件中

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

获取到后,第一个窗口就可以关闭了。

然后任选一个窗口,执行如下命令运行一个容器

docker run \
    --rm \
    -d \
    -p 80:8080 \
    -e SWAGGER_JSON=/k8s-swagger.json \
    -v $(pwd)/k8s-swagger.json:/k8s-swagger.json \
    swaggerapi/swagger-ui

# 2. 使用 swagger-ui

此时,你在浏览器上输入 http://ip 就可以看到一个经过可视化的 api 文档界面,其中包括安装在集群上的所有自定义资源的模型和路径!

里面的 api 非常多,你用得上的,用不上的,这里都有。

不仅有 api-server 的 API ,其他所有你另外安装的 CRD 资源也都有。

比如我自己安装的 VirtualMachineInstance 资源,根据关键字,立马就找到 KubeVirt 创建虚拟机的 API 

点击上面的 Try it out 可以修改请求体的参数,请生成一个 curl 命令,方便你进行调试。

非常奈斯的一个工具,明哥强烈推荐你用起来。

   


喜欢明哥文章的同学
欢迎长按下图订阅!

⬇⬇⬇

浏览 74
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报