先把几个集群的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/