先把几个集群的config文件存下来,例如命名为test,prod,base
打开这几个文件进行修改,clusters.name,context.user不能重复,如果是阿里云托管集群生成的kubeconfig都是统一的,这里有坑会导致合并失败。
打开终端,设置以下环境变量,要合并的config文件名用冒号隔开
export KUBECONFIG=test:prod:base
执行以下命令查看是否生效,如果看到多个content name以及集群名不相同,证明成功了。
kubectl config get-contexts
此时通过以下命令生成新的config,注意备份原来的
kubectl config view --raw >~/.kube/config
重新打开一个终端或者清除KUBECONFIG
环境变量查看效果
如何快速切换集群和namespaces
在.bash_profile
中加入以下别名,并且source生效
alias kcd='kubectl config set-context $(kubectl config current-context) --namespace '
alias kuse='kubectl config use-context'
之后就可以通过以下命令快速切换集群(上下文)以及命名空间:
kuse base
kcd default
参考文章:
https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/