Kubernetes
    当在开发与 kubernetes API 服务器通信的软件时,实际上是正在寻找详细的 kubernetes API 规范。当然这里不是在谈论主要揭示核心对象模型的官方 kubernetes API 参考。可能会对特定的 API 路径、可能的标头、查询参数和响应感兴趣。
    通常,可以在openapi规范文档中找到所有这些信息,可以通过Swagger UI、ReDoc或其他此类工具查看该文档。
    https://swagger.io/tools/swagger-ui/https://github.com/Redocly/redochttps://swagger.io/specification/
    所以下一个合乎逻辑的步骤是在谷歌上搜索“kubernetes swagger”或“kubernetes openapi spec”之类的东西,虽然其中一些搜索结果可以引导朝着正确的方向前进,但不会对正在寻找的 Swagger UI 感到满意。
    原因是由于自定义资源定义,每个 Kubernetes API 服务器的规范实际上是不同的,因此暴露了不同的路径和模型。
    这需要 kubernetes API 服务器实际生成它自己的 openapi 规范,将在下面执行此操作:
    首先确保连接到 kubernetes API 服务器作为当前的 kube 上下文。可以通过 仔细检查kubectl config current-context。然后,可以为 kubernetes API 服务器打开一个反向代理:

    1. kubectl proxy --port=8080

    这节省了一堆现在全部由 kubectl 处理的身份验证配置。在新的终端窗口中运行以下命令以保持反向代理处于活动状态(或在后台运行反向代理)。通过以下命令为 kubernetes API Server 保存 Swagger 文件:

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

    作为最后一步,现在只需要使用生成的 Swagger json 作为输入来启动一个 Swagger Server。将为此使用 docker 容器:

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

    现在访问http://localhost,将获得一个 Swagger UI,其中包括安装在集群上的所有自定义资源的模型和路径!
    用Swagger UI生成 Kubernetes openapi 规范 - 图1