太讚了,這個神器竟然能分分鐘將多個 kubeconfig 合併成一個!

相信很多人都會經常部署不同的 Kubernetes 集羣,也會經常刪除不再使用的 Kubernetes 集羣,如果要在本地通過 kubectl 客戶端與集羣進行交互,就需要不同的 kubeconfig,然後通過環境變量或命令行參數不斷來回切換 kubeconfig,或者手動將多個 kubeconfig 合併爲一個,然後通過 kubectl 插件 kubectx[1] 或 kubie 來切換上下文環境(即 context)。

那麼有沒有一種方法可以自動將多個 kubeconfig 文件合併成一個呢?手動合併也太麻煩了啊!

有個小哥和我也有同樣的苦惱,索性寫了一個自動化工具 kubectx.manager[2],可以將多個 kubeconfig 合併成一個,也可以從現有的 kubeconfig 文件中刪除不想要的 context

安裝方法很簡單,首先需要有 nodejs 環境,然後通過下面的命令安裝:

$ npm install -g git+https://[email protected]/AveryanovS/kubectx.manager

假設現在要合併多個 kubeconfig,只需執行命令,不帶任何參數,然後就會有一系列交互動作:

$ kubemanager
✔ Select action · merge
✔ Path to current kube config? · /Users/xxx/.kube/config
✔ Path to config to merge? · /Users/xxx/.kube/kubeconfig
✔ Name of new context? · test
Context test created!
Config file updated!
  • 第一行選擇 merge,表示合併。

  • 第二行選擇需要合併到哪個 kubeconfig,也就是你最終要用的 kubeconfig。

  • 第三行選擇需要合併的 kubeconfig。

  • 第四行定義合併後新加入的 context 名稱。

刪除多餘的 context 與上面類似,自己摸索一下。

合併多個 kubeconfig 之後還不行,需要一個能快速切換 context 的工具,不然每次都自己去 kubeconfig 中修改當前的 context 也太 low 了吧!

目前有兩款插件都比較好用, kubectx[3]kubie,我推薦使用 kubie,功能更強大,使用 rust 語言編寫,你可以通過 cargo 來編譯安裝,也可以從 release 頁面直接下載二進制文件。

公衆號後臺回覆◉kubie◉即可獲取 kubie 二進制文件的下載地址。

腳註

[1]

kubectx: https://github.com/ahmetb/kubectx

[2]

kubectx.manager: https://github.com/AveryanovS/kubectx.manager

[3]

kubectx: https://github.com/ahmetb/kubectx


你可能還喜歡

點擊下方圖片即可閱讀

最華麗的 Kubernetes 桌面客戶端:Lens

雲原生是一種信仰 ????

碼關注公衆號

後臺回覆◉k8s◉獲取史上最方便快捷的 Kubernetes 高可用部署工具,只需一條命令,連 ssh 都不需要!

點擊 "閱讀原文" 獲取更好的閱讀體驗!

❤️給個「在看」,是對我最大的支持❤️
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章