想都不敢想,K8S 居然有這種可視化神器!
在工作中,你可能需要基於 Kubernetes 提供的 API 進行開發,比如開發適合自己的控制檯,Kubernetes 官方提供的 API 文檔,有兩個問題:
-
非常的不直觀,這個問題其實還好,自己克服一下也不是大問題
-
只有 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 命令,方便你進行調試。
非常奈斯的一個工具,明哥強烈推薦你用起來。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/-2zo84CUuaTfQHCZrM7ZnQ