使用 swagger-ui 可視化 Kubernetes API 文檔


在工作中,你可能需要基於 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 命令,方便你進行調試。


文章最后給大家介紹三個我自己寫的在線文檔:

第一個文檔PyCharm 中文指南 1.0 文檔

花了兩個多月的時間,整理了 100 個 PyCharm 的使用技巧,為了讓新手能夠直接上手,我花了很多的時間錄制了上百張 GIF 動圖,有興趣的前往在線文檔閱讀。

第二個文檔PyCharm 黑魔法指南 1.0 文檔

系統收錄各種 Python 冷門知識,Python Shell 的多樣玩法,令人瘋狂的 Python 炫技操作,Python 的超詳細進階知識解讀,非常實用的 Python 開發技巧等。

第三個文檔Python 中文指南 1.0 文檔

花了三個月時間寫的一本 適合零基礎入門 Python 的全中文教程,搭配大量的代碼案例,讓初學者對 代碼的運作效果有一個直觀感受,教程既有深度又有廣度,每篇文章都會標內容的難度,是基礎還是進階的,可供讀者進行選擇,是一本難得的 Python 中文電子教程。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM