-
项目通常有多个 k8s 集群环境,dev、testing、staging、prod,kubetcl 在多个环境中切换,操作集群 Pod 等资源对象,前提条件是将这三个环境的配置信息都写到本地机的 $HOME/.kube/config 文件中。
-
默认情况下
kubectl
会查找$HOME/.kube
目录中命名为config
的文件。那么,如何将多个 kubeconfig 文件合并为一个呢?cp $HOME/.kube/config $HOME/.kube/config-backup
-
设置
KUBECONFIG
环境变量,KUBECONFIG
环境变量是配置文件的路径列表,例如/path/cluster1:/path/cluster2:/path/cluster3:
export KUBECONFIG=$HOME/.kube/config:/path/cluster1:/path/cluster2
-
如果当前目录下有很多 kubeconfig 文件,可以使用以下命令快速设置
KUBECONFIG
环境变量:$ cd $HOME/.kube
$ ls $HOME/.kube
config-dev config-testing config-staging config-prod$ export KUBECONFIG=HOME/.kube/config:(find $HOME/.kube -type f -maxdepth 1 | grep config | tr '\n' ':')
-
将所有 kubeconfig 文件合并为一个:
kubectl config view --flatten > all-in-one-kubeconfig.yaml
-
验证它是否有效,显示在 kubeconfig 中定义的所有集群:
kubectl config get-contexts --kubeconfig=$HOME/.kube/all-in-one-kubeconfig.yaml
-
用新合并的配置文件替换旧配置文件:
mv all-in-one-kubeconfig.yaml $HOME/.kube/config
云原生之深入解析如何合并多个kubeconfig文件
╰つ栺尖篴夢ゞ2023-10-26 9:52
相关推荐
freellf8 天前
数据结构及基本算法BruceGerGer25 天前
flutter开发实战-flutter web加载html及HtmlElementView的使用AskHarries1 个月前
Spring Boot集成kubernetes客户端实现API操作k8s集群网络冒险家2 个月前
【软考】系统集成项目管理工程师【第二版】BruceGerGer2 个月前
flutter开发实战-AssetBundle读取指定packagename的文件sheng12345678rui2 个月前
最新缺失msvcp140.dll的多种解决方法,有效解决电脑dll问题a5553338203 个月前
电脑显示mfc140u.dll丢失的修复方法,总结7种有效的方法行十万里人生3 个月前
C++ 智能指针a5553338203 个月前
启动鸣潮提示错误代码126:加载d3dcompiler_43.dll错误或缺失的7个解决方法BruceGerGer3 个月前
flutter开发实战-Webview及dispose关闭背景音