kubectl 在一个配置文件中配置多个环境信息,然后可以切换操作:
先看如下配置文件
apiVersion: v1
kind: Config
clusters:
- name: "myk8s"
cluster:
server: "https://rancher.shanhy.com/k8s/clusters/c-97hgz"
certificate-authority-data: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJpRENDQ\
VM2Z0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQTdNUnd3R2dZRFZRUUtFeE5rZVc1aGJXbGoKY\
…………………省略…………………
jRHMDNJV0Ixb1NTaWJDNHNwd0xXQkorQUloQU9NRngrRFJYZVlONTZpVDRSR2JzUElXMzQ2Vwo4Y\
ndDb0IvK2Zvd2JNQXRYCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0="
- name: "myk8s-middleware2"
cluster:
server: "https://192.168.1.122:6443"
certificate-authority-data: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN3akNDQ\
WFxZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFTTVJBd0RnWURWUVFERXdkcmRXSmwKT\
…………………省略…………………
XFJUmRnaXBLMElmUDBoYnlFMUZlN0swMTJsaUlyYzlSWkVYYVpUUEE9Ci0tLS0tRU5EIENFUlRJR\
klDQVRFLS0tLS0K"
- name: "myk8s-server04"
cluster:
server: "https://192.168.1.142:6443"
certificate-authority-data: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN3akNDQ\
WFxZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFTTVJBd0RnWURWUVFERXdkcmRXSmwKT\
…………………省略…………………
XFJUmRnaXBLMElmUDBoYnlFMUZlN0swMTJsaUlyYzlSWkVYYVpUUEE9Ci0tLS0tRU5EIENFUlRJR\
klDQVRFLS0tLS0K"
- name: "myk8s-middleware3"
cluster:
server: "https://192.168.1.129:6443"
certificate-authority-data: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN3akNDQ\
WFxZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFTTVJBd0RnWURWUVFERXdkcmRXSmwKT\
…………………省略…………………
XFJUmRnaXBLMElmUDBoYnlFMUZlN0swMTJsaUlyYzlSWkVYYVpUUEE9Ci0tLS0tRU5EIENFUlRJR\
klDQVRFLS0tLS0K"
users:
- name: "myk8s"
user:
token: "kubeconfig-user-rmz6q.c-97hgz:29z89ns8whhgq8zptgbtkgg8rnq86hcxnb75rm5t4ptt7l57cfvwlv"
contexts:
- name: "myk8s"
context:
user: "myk8s"
cluster: "myk8s"
- name: "myk8s-middleware2"
context:
user: "myk8s"
cluster: "myk8s-middleware2"
- name: "myk8s-server04"
context:
user: "myk8s"
cluster: "myk8s-server04"
- name: "myk8s-middleware3"
context:
user: "myk8s"
cluster: "myk8s-middleware3"
current-context: "myk8s"
在配置文件中定义了4个 context 环境,分别为 myk8s
、myk8s-middleware2
、myk8s-server04
、myk8s-middleware3
,下面为切换环境的命令示例:
[root@middleware3 .kube]# kubectl config use-context myk8s-middleware2
Switched to context "myk8s-middleware2".
[root@middleware3 .kube]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
middleware Ready <none> 3h9m v1.19.4
middleware2 Ready controlplane,etcd,worker 547d v1.19.4
middleware3 Ready controlplane,etcd,worker 547d v1.19.4
server01 Ready worker 547d v1.19.4
server02 Ready worker 547d v1.19.4
server03 Ready worker 547d v1.19.4
server04 Ready controlplane,etcd,worker 172d v1.19.4
[root@middleware3 .kube]#
(END)