当在同一个终端设备需要访问多个Kubernetes集群时,会需要多个kubeconfig文件。kubectl命令会在默认路径 $HOME/.kube 下找 config 作为kubeconfig来访问Kubernetes集群。所以如何将这么多文件合并到一个呢?
1.操作前先备份已有的kubeconfig文件
cp ~/.kube/config ~/.kube/config-backup
2.设置 KUBECONFIG 环境变量
通过此环境变量来指定多个kubeconfig,如下:
export KUBECONFIG=~/.kube/config:/path/cluster1:/path/cluster2
# 如果当前目录有多个kubeconfig文件,可以用如下命令快速设置:
export KUBECONFIG=~/.kube/config:$(find . -type f | tr '\n' ':')
3.通过kbuectl命令合并多个kubeconfig到一个文件
kubectl config view --flatten > all-in-one-kubeconfig.yaml
# 将合并后的文件重命名为config
mv all-in-one-kubeconfig.yaml ~/.kube/config
4.测试是否合并成功
kubectl config get-contexts/get-clusters
评论前必须登录!
注册