前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何将多个 kubeconfig 文件合并为一个?

如何将多个 kubeconfig 文件合并为一个?

作者头像
我的小碗汤
发布2023-03-19 16:58:42
2.3K0
发布2023-03-19 16:58:42
举报
文章被收录于专栏:我的小碗汤

项目通常有多个 k8s 集群环境,dev、testing、staging、prod,kubetcl 在多个环境中切换,操作集群 Pod 等资源对象,前提条件是将这三个环境的配置信息都写到本地机的 $HOME/.kube/config 文件中。

默认情况下kubectl会查找$HOME/.kube目录中命名为config的文件。那么,我们如何将多个 kubeconfig 文件合并为一个呢?

以下是步骤:

备份是个好习惯

代码语言:javascript
复制
cp $HOME/.kube/config $HOME/.kube/config-backup

设置KUBECONFIG环境变量

KUBECONFIG环境变量是配置文件的路径列表,例如/path/cluster1:/path/cluster2:/path/cluster3

代码语言:javascript
复制
export KUBECONFIG=$HOME/.kube/config:/path/cluster1:/path/cluster2

如果当前目录下有很多 kubeconfig 文件,可以使用以下命令快速设置KUBECONFIG 环境变量。

代码语言:javascript
复制
$ 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 文件合并为一个

代码语言:javascript
复制
kubectl config view --flatten > all-in-one-kubeconfig.yaml

验证它是否有效

显示在 kubeconfig 中定义的所有集群:

代码语言:javascript
复制
kubectl config get-contexts --kubeconfig=$HOME/.kube/all-in-one-kubeconfig.yaml

用新合并的配置文件替换旧配置文件

代码语言:javascript
复制
mv all-in-one-kubeconfig.yaml $HOME/.kube/config

总结

其他快捷工具还有 kubectx[1],它可以比 kubectl 更快地在上下文(集群)之间切换,但还是依赖于 config 的合并。

也可以使用国人开源的 ki[2] 命令行工具,不用合并 config,直接使用ki -s即可快速完成切换。

参考资料

[1]

kubectx: https://github.com/ahmetb/kubectx

[2]

ki: https://github.com/ywgx/ki

https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters

- END -

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 进击云原生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 备份是个好习惯
  • 设置KUBECONFIG环境变量
  • 将所有 kubeconfig 文件合并为一个
  • 验证它是否有效
  • 用新合并的配置文件替换旧配置文件
  • 总结
  • 参考资料
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档