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

相关推荐
Yangy_Jiaojiao1 天前
三维手眼标定
1024程序员节
guozhetao3 天前
【图论,拓扑排序】P1347 排序
数据结构·c++·python·算法·leetcode·图论·1024程序员节
lzb_kkk21 天前
【C++】C++四种类型转换操作符详解
开发语言·c++·windows·1024程序员节
lzb_kkk1 个月前
【MFC】编辑框、下拉框、列表控件
c语言·开发语言·c++·mfc·1024程序员节
lzb_kkk1 个月前
【MFC】树控件的使用详解
开发语言·c++·windows·mfc·1024程序员节
SizeTheMoment2 个月前
List介绍
1024程序员节
开利网络2 个月前
产业互联网+三融战略:重构企业增长密码
大数据·运维·服务器·人工智能·重构·1024程序员节
wei_shuo2 个月前
从数据中台到数据飞轮:实现数据驱动的升级之路
1024程序员节·数据飞轮
玖剹3 个月前
矩阵区域和 --- 前缀和
数据结构·c++·算法·leetcode·矩阵·动态规划·1024程序员节
jamison_14 个月前
文心一言与 DeepSeek 的竞争分析:技术先发优势为何未能转化为市场主导地位?
人工智能·ai·chatgpt·gpt-3·1024程序员节