首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >太赞了,这个神器竟然能分分钟将多个 kubeconfig 合并成一个!

太赞了,这个神器竟然能分分钟将多个 kubeconfig 合并成一个!

作者头像
米开朗基杨
发布2020-06-28 15:59:02
6870
发布2020-06-28 15:59:02
举报
文章被收录于专栏:云原生实验室云原生实验室

相信很多人都会经常部署不同的 Kubernetes 集群,也会经常删除不再使用的 Kubernetes 集群,如果要在本地通过 kubectl 客户端与集群进行交互,就需要不同的 kubeconfig,然后通过环境变量或命令行参数不断来回切换 kubeconfig,或者手动将多个 kubeconfig 合并为一个,然后通过 kubectl 插件 kubectx[1] 或 kubie 来切换上下文环境(即 context)。

那么有没有一种方法可以自动将多个 kubeconfig 文件合并成一个呢?手动合并也太麻烦了啊!

有个小哥和我也有同样的苦恼,索性写了一个自动化工具 kubectx.manager[2],可以将多个 kubeconfig 合并成一个,也可以从现有的 kubeconfig 文件中删除不想要的 context

安装方法很简单,首先需要有 nodejs 环境,然后通过下面的命令安装:

$ npm install -g git+https://git@github.com/AveryanovS/kubectx.manager

假设现在要合并多个 kubeconfig,只需执行命令,不带任何参数,然后就会有一系列交互动作:

$ kubemanager
✔ Select action · merge
✔ Path to current kube config? · /Users/xxx/.kube/config
✔ Path to config to merge? · /Users/xxx/.kube/kubeconfig
✔ Name of new context? · test
Context test created!
Config file updated!
  • 第一行选择 merge,表示合并。
  • 第二行选择需要合并到哪个 kubeconfig,也就是你最终要用的 kubeconfig。
  • 第三行选择需要合并的 kubeconfig。
  • 第四行定义合并后新加入的 context 名称。

删除多余的 context 与上面类似,自己摸索一下。

合并多个 kubeconfig 之后还不行,需要一个能快速切换 context 的工具,不然每次都自己去 kubeconfig 中修改当前的 context 也太 low 了吧!

目前有两款插件都比较好用, kubectx[3]kubie,我推荐使用 kubie,功能更强大,使用 rust 语言编写,你可以通过 cargo 来编译安装,也可以从 release 页面直接下载二进制文件。

公众号后台回复◉kubie◉即可获取 kubie 二进制文件的下载地址。

脚注

[1]

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

[2]

kubectx.manager: https://github.com/AveryanovS/kubectx.manager

[3]

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

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

本文分享自 云原生实验室 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 脚注
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档