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

相关推荐
鹏大师运维3 小时前
【功能介绍】信创终端系统上各WPS版本的授权差异
linux·wps·授权·麒麟·国产操作系统·1024程序员节·统信uos
亦枫Leonlew3 小时前
微积分复习笔记 Calculus Volume 1 - 4.7 Applied Optimization Problems
笔记·数学·微积分·1024程序员节
小肥象不是小飞象4 小时前
(六千字心得笔记)零基础C语言入门第八课——函数(上)
c语言·开发语言·笔记·1024程序员节
一个通信老学姐12 小时前
专业130+总400+武汉理工大学855信号与系统考研经验电子信息与通信工程,真题,大纲,参考书。
考研·信息与通信·信号处理·1024程序员节
力姆泰克13 小时前
看电动缸是如何提高农机的自动化水平
大数据·运维·服务器·数据库·人工智能·自动化·1024程序员节
力姆泰克13 小时前
力姆泰克电动缸助力农业机械装备,提高农机的自动化水平
大数据·服务器·数据库·人工智能·1024程序员节
程思扬14 小时前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节
转世成为计算机大神14 小时前
网关 Spring Cloud Gateway
java·网络·spring boot·1024程序员节
paopaokaka_luck14 小时前
基于Spring Boot+Vue的助农销售平台(协同过滤算法、限流算法、支付宝沙盒支付、实时聊天、图形化分析)
java·spring boot·小程序·毕业设计·mybatis·1024程序员节
幼儿园园霸柒柒15 小时前
第七章: 7.3求一个3*3的整型矩阵对角线元素之和
c语言·c++·算法·矩阵·c#·1024程序员节