多K8s叢集切換:Kubectl客戶端配置全記錄
kubectl的配置檔案位置
kubectl配置檔案的主要位置是$ HOME / .kube,預設情況下,我們有一個名為config的配置檔案:
[node1 ~]$ cd $HOME/.kube[node1 .kube]$ ls -lahtotal 4.0Kdrwxr-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 cachelrwxrwxrwx 1 root root 26 Nov 29 11:46 config -> /etc/kubernetes/admin.confdrwxr-x--- 3 root root 4.0K Mar 12 20:48 http-cache
多個配置檔案和KUBECONFIG變數
透過設定適當的KUBECONFIG shell變數,我們可以擁有多個配置檔案。
例如:
export KUBECONFIG=$KUBECONFIG:/root/.kube/additional_config
從kubectl檢查配置
我們可以檢查當前的配置(由於我的Additional_config檔案中沒有任何內容,因此將為空-我們稍後將新增一些內容-這只是我的KUBECONFIG變數中的檔案):
[node1 ~]$ kubectl config viewapiVersion: v1clusters: []contexts: []current-context: ""kind: Configpreferences: {}users: []
或來自特定檔案-讓我們看看預設檔案:
[node1 ~]$ kubectl config --kubeconfig=.kube/config viewapiVersion: v1clusters:- cluster: certificate-authority-data: DATA+OMITTED server: https://192.168.0.38:6443 name: kubernetescontexts:- context: cluster: kubernetes user: kubernetes-admin name: kubernetes-admin@kubernetescurrent-context: kubernetes-admin@kuberneteskind: Configpreferences: {}users:- name: kubernetes-admin user: client-certificate-data: REDACTED client-key-data: REDACTED
如果您未設定KUBECONFIG變數,則所有配置都將從$ HOME / .kube / config中獲取
kubectl配置中的物件
kubectl在其配置檔案中具有以下物件型別
叢集-有關K8s叢集的資訊-包含群集名稱和連線引數
users-有關您要連線到K8s叢集的使用者的資訊
上下文-叢集/使用者/名稱空間的三倍
從kubectl修改配置
新增叢集
[node1 ~]$ kubectl config --kubeconfig=.kube/additional_config set-cluster dev --server=https://192.168.1.100 --certificate-authority=fake-caCluster "dev" set.[node1 ~]$ kubectl config --kubeconfig=.kube/additional_config set-cluster prod --server= --certificate-authority=fake-caCluster "prod" set.
新增使用者
[node1 ~]$ kubectl config --kubeconfig=.kube/additional_config set-credentials developer --client-certificate=fake-cert-file --client-key=fake-key-seefileUser "developer" set.[node1 ~]$ kubectl config --kubeconfig=.kube/additional_config set-credentials prod_admin --client-certificate=fake-cert-file --client-key=fake-key-seefileUser "prod_admin" set.
新增上下文
[node1 ~]$ kubectl config --kubeconfig=.kube/additional_config set-context simple_app_development --cluster=dev --namespace=simple_app_dev --user=developerContext "simple_app_development" created.[node1 ~]$ kubectl config --kubeconfig=.kube/additional_config set-context simple_app_production --cluster=prod --namespace=simple_app_prod --user=prod_adminContext "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 viewapiVersion: v1clusters:- cluster: certificate-authority: /root/fake-ca server: https://192.168.1.100 name: dev- cluster: certificate-authority: /root/fake-ca server: name: prodcontexts:- 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_productioncurrent-context: ""kind: Configpreferences: {}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
改變環境
要獲取上下文列表(不需要--kubeconfig,因為我們已將extra_config新增到KUBECONFIG變數中):
[node1 ~]$ kubectl config get-contextsCURRENT NAME CLUSTER AUTHINFO NAMESPACE simple_app_development dev developer simple_app_dev simple_app_production prod prod_admin simple_app_prod
設定上下文:
[node1 ~]$ kubectl config use-context simple_app_developmentSwitched to context "simple_app_development".
獲取當前上下文:
[node1 ~]$ kubectl config current-contextsimple_app_development
歡迎關注開源村公眾號瞭解更多技術開源資訊和技術分享
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31490593/viewspace-2689603/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 物理DataGuard客戶端無縫切換--客戶端TAF 配置客戶端
- kubeconfig 多個叢集配置 如何切換
- 搭建eureka叢集環境以及客戶端配置客戶端
- Kubernetes安裝之五:配置kubectl客戶端客戶端
- Eureka高可用叢集服務端和客戶端配置服務端客戶端
- Zookeeper客戶端使用與叢集原理客戶端
- Akka-Cluster(3)- ClusterClient, 叢集客戶端client客戶端
- 使用kubectl管理k8s叢集(二十九)K8S
- HangFire多叢集切換及DashBoard登入驗證
- Kubernetes 小白學習筆記(15)--k8s叢集路線-kubectl命令詳解筆記K8S
- 精講RestTemplate第2篇-多種底層HTTP客戶端類庫的切換RESTHTTP客戶端
- 多k8s叢集管理K8S
- Redis叢集的主從切換研究Redis
- 一次獲取客戶端 IP 記錄客戶端
- websocket(多個客戶端)Web客戶端
- 客戶端筆記客戶端筆記
- mongodb叢集節點故障的切換方法MongoDB
- 如何配置K8S儲存叢集?K8S
- gRPC學習記錄(六)--客戶端連線池RPC客戶端
- 分散式配置中心客戶端分散式客戶端
- 如何解決 K8s 多租戶叢集的安全隔離難題?K8S
- 安全叢集訪問非安全叢集問題記錄
- [程式碼已開源]叢集聊天伺服器與客戶端開發伺服器客戶端
- 郵件客戶端的配置使用客戶端
- kubectl-debug使用記錄
- ICAP: 互換客戶端地址協議客戶端協議
- K8s叢集伺服器效能配置指南K8S伺服器
- k8s搭建叢集軟硬體配置要求K8S
- k8s多叢集管理工具kubecmK8S
- OSSEC服務端配置客戶端批次部署方案服務端客戶端
- K8s 實踐 | 如何解決多租戶叢集的安全隔離問題?K8S
- Thrift 客戶端-服務端 零XML配置 註解式配置客戶端服務端XML
- 【記錄】Ubuntu18.04 切換 Python 版本UbuntuPython
- JDK Windows 安裝配置以及多版本切換JDKWindows
- k8s叢集配置使用coredns代替kube-dnsK8SDNS
- K8S- 配置多叢集訪問K8S
- Jaeger的客戶端取樣配置(Java版)客戶端Java
- Tomcat配置Gizp 客戶端使用okHttp3Tomcat客戶端HTTP