溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

多K8s集群切換中Kubectl客戶端如何配置

發(fā)布時間:2021-12-07 14:08:46 來源:億速云 閱讀:172 作者:小新 欄目:云計算

這篇文章主要介紹了多K8s集群切換中Kubectl客戶端如何配置,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

kubectl的配置文件位置

kubectl配置文件的主要位置是$ HOME / .kube,默認(rèn)情況下,我們有一個名為config的配置文件:

[node1 ~]$ cd $HOME/.kube [node1 .kube]$ ls -lah total 4.0K drwxr-xr-x 1 root root 37 Mar 12 20:48 . dr-xr-x--- 1 root root 19 Nov 29 11:46 .. drwxr-x--- 3 root root 23 Mar 12 20:48 cache lrwxrwxrwx 1 root root 26 Nov 29 11:46 config -> /etc/kubernetes/admin.conf drwxr-x--- 3 root root 4.0K Mar 12 20:48 http-cache

多個配置文件和KUBECONFIG變量

通過設(shè)置適當(dāng)?shù)腒UBECONFIG shell變量,我們可以擁有多個配置文件。

例如:

export KUBECONFIG=$KUBECONFIG:/root/.kube/additional_config

從kubectl檢查配置

我們可以檢查當(dāng)前的配置(由于我的Additional_config文件中沒有任何內(nèi)容,因此將為空-我們稍后將添加一些內(nèi)容-這只是我的KUBECONFIG變量中的文件):

[node1 ~]$ kubectl config view apiVersion: v1 clusters: [] contexts: [] current-context: "" kind: Config preferences: {} users: []

或來自特定文件-讓我們看看默認(rèn)文件:

[node1 ~]$ kubectl config --kubeconfig=.kube/config view apiVersion: v1 clusters:

  • cluster: certificate-authority-data: DATA+OMITTED server: https://192.168.0.38:6443 name: kubernetes contexts:

  • context: cluster: kubernetes user: kubernetes-admin name: kubernetes-admin@kubernetes current-context: kubernetes-admin@kubernetes kind: Config preferences: {} users:

  • name: kubernetes-admin user: client-certificate-data: REDACTED client-key-data: REDACTED

如果您未設(shè)置KUBECONFIG變量,則所有配置都將從$ HOME / .kube / config中獲取

kubectl配置中的對象

kubectl在其配置文件中具有以下對象類型

集群-有關(guān)K8s集群的信息-包含群集名稱和連接參數(shù)

users-有關(guān)您要連接到K8s集群的用戶的信息

上下文-集群/用戶/命名空間的三倍

從kubectl修改配置

添加集群

[node1 ~]$ kubectl config --kubeconfig=.kube/additional_config set-cluster dev --server=https://192.168.1.100 --certificate-authority=fake-ca Cluster "dev" set. [node1 ~]$ kubectl config --kubeconfig=.kube/additional_config set-cluster prod --server=https://10.1.1.100 --certificate-authority=fake-ca Cluster "prod" set.

新增使用者

[node1 ~]$ kubectl config --kubeconfig=.kube/additional_config set-credentials developer --client-certificate=fake-cert-file --client-key=fake-key-seefile User "developer" set. [node1 ~]$ kubectl config --kubeconfig=.kube/additional_config set-credentials prod_admin --client-certificate=fake-cert-file --client-key=fake-key-seefile User "prod_admin" set.

添加上下文

[node1 ~]$ kubectl config --kubeconfig=.kube/additional_config set-context simple_app_development --cluster=dev --namespace=simple_app_dev --user=developer Context "simple_app_development" created. [node1 ~]$ kubectl config --kubeconfig=.kube/additional_config set-context simple_app_production --cluster=prod --namespace=simple_app_prod --user=prod_admin Context "simple_app_production" created.

從配置中刪除集群/用戶/上下文

kubectl --kubeconfig=.kube/additional_config config unset users.<name> kubectl --kubeconfig=.kube/additional_config config unset clusters.<name> kubectl --kubeconfig=.kube/additional_config config unset contexts.<name>

樣本配置

[node1 ~]$ kubectl config --kubeconfig=.kube/additional_config view apiVersion: v1 clusters:

  • cluster: certificate-authority: /root/fake-ca server: https://192.168.1.100 name: dev

  • cluster: certificate-authority: /root/fake-ca server: https://10.1.1.100 name: prod contexts:

  • context: cluster: dev namespace: simple_app_dev user: developer name: simple_app_development

  • context: cluster: prod namespace: simple_app_prod user: prod_admin name: simple_app_production current-context: "" kind: Config preferences: {} users:

  • name: developer user: client-certificate: /root/fake-cert-file client-key: /root/fake-key-seefile

  • name: prod_admin user: client-certificate: /root/fake-cert-file client-key: /root/fake-key-seefile

改變環(huán)境

要獲取上下文列表(不需要--kubeconfig,因為我們已將extra_config添加到KUBECONFIG變量中):

[node1 ~]$ kubectl config get-contexts CURRENT NAME CLUSTER AUTHINFO NAMESPACE simple_app_development dev developer simple_app_dev simple_app_production prod prod_admin simple_app_prod

設(shè)置上下文:

[node1 ~]$ kubectl config use-context simple_app_development Switched to context "simple_app_development".

獲取當(dāng)前上下文:

[node1 ~]$ kubectl config current-context simple_app_development                               

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“多K8s集群切換中Kubectl客戶端如何配置”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI