配置kubectl连接多个kubernetes集群

配置kubectl连接多个kubernetes集群

转载来源: https://blog.51cto.com/u_7072753/5472262

场景

我们有三个k8s集群,分别是阿里云ACK集群,北京混合云k8s集群,义乌混合云k8s集群,我们需要在一台服务器上可以同时访问这三个集群

实现方式

将三个集群的config信息合并到一个文件中,通过使用 kubectl config use-context context_name 命令来切换集群。

准备好三个集群的配置文件,分别为$HOME/.kube/config_ack $HOME/.kube/config_bj $HOME/.kube/config_yw

配置kubectl连接多个kubernetes集群_use-context

合并文件

cd  $HOME/.kube/
#合并文件
KUBECONFIG=config_ack:config_bj:config_yw kubectl config view --flatten > $HOME/.kube/config
# 查看合并后的集群配置
kubectl config view

查看当前集群

kubectl config get-contexts
配置kubectl连接多个kubernetes集群_kubectl_02

切换集群

kubectl config use-context 200196983372588750-c4cf3407dc2944784b5905d64060adfb1

Q&A:

如果执行切换命令后,访问集群资源,发现虽然切换成功了,但是访问的资源还是原来的集群资源,说明配置错误,我这里的错误原因是:三个集群的 cluster 名字重复导致的,都是 kubernetes,配置文件内容一部分覆盖了。

配置kubectl连接多个kubernetes集群_use-context_03

解决方法:修改 config_ack config_bj config_yw 配置文件中的cluster名字即可,然后重新执行合并命令

配置kubectl连接多个kubernetes集群_use-context_04

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注