云原生之深入解析如何合并多个kubeconfig文件

  • 项目通常有多个 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

相关推荐
yBmZlQzJ2 天前
财运到内网穿透域名解析技术机制与中立评估
运维·经验分享·docker·容器·1024程序员节
yBmZlQzJ2 天前
内网穿透工具通过端口转发实现内外网通信
运维·经验分享·docker·容器·1024程序员节
数据皮皮侠AI2 天前
数字经济政策工具变量数据(2008-2023)
大数据·数据库·人工智能·笔记·1024程序员节
网安_秋刀鱼3 天前
【java安全】shiro反序列化1(shiro550)
java·开发语言·安全·web安全·网络安全·1024程序员节
unable code5 天前
攻防世界-Misc-Wire1
网络安全·ctf·misc·1024程序员节
开开心心就好5 天前
版本转换工具,支持Win双系统零售批量版
linux·运维·服务器·pdf·散列表·零售·1024程序员节
开开心心就好6 天前
免费卸载工具,可清理残留批量管理启动项
linux·运维·服务器·windows·随机森林·pdf·1024程序员节
unable code6 天前
攻防世界-Misc-4-1
网络安全·ctf·misc·1024程序员节
yBmZlQzJ8 天前
免费内网穿透-端口转发配置介绍
运维·经验分享·docker·容器·1024程序员节