kubectl多集群配置
Kubectl 是一个命令行接口,用于对 Kubernetes 集群运行命令。默认Kubectl 会读取 $HOME/.kube/config 的文件。也可以通过设置环境变量 KUBECONFIG 或设置 –kubeconfig 参数指定其它 kubeconfig 文件。
一、单集群配置
在单集群下配置非常简单:
1mkdir -p $HOME/.kube
2sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
3sudo chown $(id -u):$(id -g) $HOME/.kube/config
4
5也可以通过环境变量配置
6export KUBECONFIG=/etc/kubernetes/admin.conf
二、多集群配置
1.别名方式
这个是我喜欢使用的一种方式,非常方便进行切换,只需要将如下信息放到$HOME/.bashrc文件中:
1alias brazil='export KUBECONFIG=/root/brazil.json'
2alias chile='export KUBECONFIG=/root/chile.json'
3alias mcp='export KUBECONFIG=/root/mcp.json'
2.kubectl参数增加
1kubectl --kubeconfig=/root/mcp.json get endpoints
2kubectl --kubeconfig=/root/brazil.json get delpoyments
这种方式和 export KUBECONFIG=file
的方式实际并没有太大区别。
3.集群config文件合并
同样需要新建.kube文件夹,拷贝不同集群的config,例如重命名为config-jhmy和config-ymt,分别查看配置文件。
1[root@jenkins .kube]# cat config-jhmy
2apiVersion: v1
3clusters:
4- cluster:
5 certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSU******
6 server: https://10.88.88.147:6443
7 name: kubernetes
8contexts:
9- context:
10 cluster: kubernetes
11 user: kubernetes-admin
12 name: kubernetes-admin@kubernetes
13current-context: kubernetes-admin@kubernetes
14kind: Config
15preferences: {}
16users:
17- name: kubernetes-admin
18 user:
19 client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZ******
20 client-key-data: LS0tLS1CRUdJTiBSU0E******
两份配置文件中context、cluster、users名称必须不一样(同集群设置不同环境除外),否则调用将会出错,所以我们可以适当修改配置文件。然后执行以下命令生成新的config文件即可:
1[root@jenkins .kube]# KUBECONFIG=config-ymt:config-jhmy kubectl config view --flatten > $HOME/.kube/config
使用的时候,可以通过如下方式切换:
1[root@jenkins .kube]# kubectl config current-context
2k8s-jhmy
3[root@jenkins .kube]# kubectl get nodes
4[root@jenkins .kube]# kubectl config use-context k8s-ymt
5Switched to context "k8s-ymt".
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/kubectl-multi-cluster/6871.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.