目錄
- 一、概述
- 二、安裝
- 1、官網連結
- 2、各平臺安裝
- 2.1、MacOS
- 2.2、Linux
- 2.3、Windows
- 三、例項
- 1、驗證
- 2、配置kubecm自動補全(選做)
- 2.1、Bash
- 2.2、Zsh
- 2.3、fish
- 2.4、PowerShell
- 3、建立存放kubeconfig檔案的目錄
- 4、新增到 $HOME/.kube/config
- 4.1、kubecm add -f
- 4.2、kubecm merge -f
- 5、列出可供切換的叢集資訊
- 6、切換叢集
- 四、命令使用
一、概述
KubeCM
是一款使用 Go
語言開發的 KubeConfig
管理工具,功能非常的強大。它不但能實現多個 KubeConfig
檔案的自動合併,還能很方便的管理多個 Kubernetes
叢集環境,比如:增加、刪除、重新命名不同叢集環境等。
它在多叢集環境中簡化了配置的一致性管理、集中控制、自動化更新和配置審計,適用於多環境部署、大規模叢集管理、CI/CD流程以及故障恢復場景,它的出現解決了隨著Kubernetes在企業級應用中普及所面臨的多叢集管理複雜性和效率問題。
免責宣告:一般情況下我們用不上,所以看看就好
二、安裝
1、官網連結
GitHub地址
2、各平臺安裝
2.1、MacOS
使用 brew
或者直接下載二進位制可執行檔案
brew install kubecm
2.2、Linux
下載二進位制可執行檔案,將其移動到系統路徑下
這裡我將壓縮包放到了/tmp/目錄下
tar zxvf /tmp/kubecm_v0.30.0_Linux_x86_64.tar.gz
mv /tmp/kubecm /usr/local/bin
2.3、Windows
下載二進位制可執行檔案,並將檔案路徑新增到 $PATH
中即可
三、例項
簡單使用六臺虛擬機器做三個小叢集
涉及叢集 | 對應ip地址 | kubeconfig檔案 |
---|---|---|
k8s-master1 、 k8s-node1 |
192.168.112.10 、 192.168.112.20 |
config |
k8s-master2 、 k8s-node2 |
192.168.112.30 、 192.168.112.40 |
cluster2-config |
k8s-master3 、 k8s-node3 |
192.168.112.50 、 192.168.112.60 |
cluster3-config |
1、驗證
kubecm
2、配置kubecm自動補全(選做)
2.1、Bash
$ source <(kubecm completion bash)
# 可以透過執行一次下面的命令來為將來的每一個 Shell 會話啟用自動補全:
# Linux:
$ kubecm completion bash > /etc/bash_completion.d/kubecm
# macOS:
$ kubecm completion bash > /usr/local/etc/bash_completion.d/kubecm
在執行完畢後,你需要重新開啟一個新的終端才能使補全指令碼生效。
2.2、Zsh
# 如果你當前的 zsh 環境中尚未啟用自動補全的功能,你需要先啟用它。你
# 可以透過下面的命令來啟用:
$ echo "autoload -U compinit; compinit" >> ~/.zshrc
# 可以透過執行一次下面的命令來為將來的每一個 Shell 會話啟用自動補全:
$ kubecm completion zsh > "${fpath[1]}/_kubecm"
在執行完畢後,你需要重新開啟一個新的終端才能使補全指令碼生效。
2.3、fish
# 可以透過執行一次下面的命令來為當前的 Shell 會話啟用自動補全:
$ kubecm completion fish | source
# 可以透過執行一次下面的命令來為將來的每一個 Shell 會話啟用自動補全:
$ kubecm completion fish > ~/.config/fish/completions/kubecm.fish
在執行完畢後,你需要重新開啟一個新的終端才能使補全指令碼生效。
2.4、PowerShell
# 可以透過執行一次下面的命令來為當前的 Shell 會話啟用自動補全:
PS> kubecm completion powershell | Out-String | Invoke-Expression
# 為將來的每一個 Shell 會話啟用自動補全,請執行下面的命令:
PS> kubecm completion powershell > kubecm.ps1
# 然後在 PowerShell 的 profile 中引入這個檔案。
3、建立存放kubeconfig檔案的目錄
mkdir ~/config
scp root@192.168.112.30:~/.kube/config ~/config
scp root@192.168.112.50:~/.kube/config ~/config
cp ~/.kube/config ~/config/
4、新增到 $HOME/.kube/config
4.1、kubecm add -f
手動一個個選擇新增
kubecm add -f cluster2-config
kubecm add -f cluster3-config
4.2、kubecm merge -f
選定目錄批次新增
最後一項是詢問是否覆蓋當前
~/.kube/config
,保險起見還是將本地的config複製一份再合併
kubecm merge -f ./config
5、列出可供切換的叢集資訊
6、切換叢集
貓貓透過上下鍵移動,回車即選中
但還是推薦使用
kubectl config use-context <cluster-name>
來切換
kubecm s
四、命令使用
# 檢視 k8s 叢集列表
kubecm list
# 重新命名 k8s 叢集名稱
kubecm rename <cluster-name>
# 新增所有 k8s 叢集別名
kubecm alias -o bash
kubecm alias -o zsh
# 切換 k8s 叢集
kubecm switch
# 切換 k8s 叢集名稱空間
kubecm ns
# 刪除 k8s 叢集
kubecm delete <cluster-name>