K8S多叢集切換
阿新 • • 發佈:2020-07-24
Kubeconfig 用途
kubectl
命令列工具通過kubeconfig
檔案的配置來選擇叢集
以及叢集API Server
通訊的所有資訊。kubeconfig
檔案用來儲存關於叢集使用者
、名稱空間
和身份驗證機制
的資訊。預設情況下kubectl
讀取$HOME/.kube/config
檔案,也可以通過設定環境變數KUBECONFIG
或者--kubeconfig
指定其他的配置檔案。
Kubeconfig 檔案結構
kubeconfig
檔案主要由下面幾部分構成:
- 叢集引數
- 使用者引數
- 上下文引數
- 當前上下文
apiVersion: v1 kind: Config preferences: {} clusters: # 叢集引數 - cluster: name: {cluster-name} users: # 使用者引數 - name: {user-name} contexts: # 上下文引數 - context: cluster: {cluster-name} user: {user-name} name: kubernetes # 叢集上下文名稱 current-context: kubernetes # 當前上下文
kubeconfig 合併
通過kubecm
工具合併多個kubeconfig
檔案
專案地址 https://github.com/sunny0826/kubecm
kubecm 安裝
$ export VERSION=v0.8.0 # linux x86_64 安裝包 $ curl -Lo kubecm.tar.gz https://github.com/sunny0826/kubecm/releases/download/v${VERSION}/kubecm_${VERSION}_Linux_x86_64.tar.gz # macos 安裝包 $ curl -Lo kubecm.tar.gz https://github.com/sunny0826/kubecm/releases/download/v${VERSION}/kubecm_${VERSION}_Darwin_x86_64.tar.gz # windows 安裝包 $ curl -Lo kubecm.tar.gz https://github.com/sunny0826/kubecm/releases/download/v${VERSION}/kubecm_${VERSION}_Windows_x86_64.tar.gz # # linux & macos 安裝 $ tar -zxvf kubecm.tar.gz kubecm $ cd kubecm $ sudo mv kubecm /usr/local/bin/ # windows 安裝 # Unzip kubecm.tar.gz # Add the binary in to your $PATH
多個 kubeconfig 檔案合併
把需要合併的 Kubeconfig 檔案放到 all_kubeconfig 目錄下,執行命令後會在當前路徑下產生一個新的 kubeconfig 檔案
$ kubecm merge -f all_kubeconfig
直接把新生成的 kubeconfig 檔案替換$HOME/.kube/config
檔案
$ kubecm merge -f all_kubeconfig -c$ kubecm merge -f all_kubeconfig -c
多叢集切換
# 叢集切換命令 $ kubecm switch
通過kubecm
工具能快速的把多個 kubeconfig 檔案合併到一個 kubeconfig 檔案中,並且也提供叢集切換。而不需要再下載kubectx
https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/
https://github.com/sunny0826/kubecm