云原生之深入解析如何合并多个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

相关推荐
开开心心就好2 天前
轻量级PDF阅读器,仅几M大小打开秒开
linux·运维·服务器·安全·pdf·1024程序员节·oneflow
学传打活5 天前
【边打字.边学昆仑正义文化】_12_生命价值的体现(1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
开开心心就好6 天前
小巧绿色免费关机工具,支持定时倒计时
linux·运维·服务器·安全·powerpoint·1024程序员节·foxmail
开开心心就好7 天前
跨平台高速下载工具,支持浏览器功能强大
运维·服务器·windows·pdf·旅游·媒体·1024程序员节
开开心心就好25 天前
内存清理软件灵活设置,自动阈值快捷键清
运维·服务器·windows·pdf·harmonyos·risc-v·1024程序员节
学传打活1 个月前
【边打字.边学昆仑正义文化】_5_宇宙物种创造简史(1)
微信公众平台·1024程序员节·汉字·昆伦正义文化
xcLeigh1 个月前
打破机房围墙:VMware+cpolar构建跨网络虚拟实验室
vmware·内网穿透·cpolar·实验室·远程访问·1024程序员节
开开心心就好1 个月前
免费轻量电子书阅读器,多系统记笔记听书
linux·运维·服务器·安全·ddos·可信计算技术·1024程序员节
unable code1 个月前
流量包取证-大流量分析
网络安全·ctf·misc·1024程序员节·流量包取证