背景
做为一个k8s的学习或者使用者,避免不了会操作不同的k8s集群,每次操作不同集群的时候,可能都会使用--kubeconfig
指定要操作集群的配置文件,这样显得格外的麻烦,我使用过一段时间的alias
,通过alias做命令别名,但是依旧不是那么清爽,前段时间看到一个kubecm工具,简洁高效,解决了多集群切换以及kubeconfig
文件内容管理的问题。
安装
kubecm 支持 Mac
Linux
和 windows
平台,安装方式也比较简单:
MacOS
使用 brew
或者直接下载二进制可执行文件
brew install sunny0826/tap/kubecm
Linux
下载二进制可执行文件
curl kubecm.tar.gz https://github.com/sunny0826/kubecm/releases/download/v${VERSION}/kubecm_${VERSION}_Linux_x86_64.tar.gz
tar -zxvf kubecm.tar.gz kubecm && cd kubecm
Windows
下载二进制可执行文件,并将文件移动到 $PATH
中即可
kubecm
kubecm 由 golang 编写,支持 Mac
Linux
和 windows
平台,delete
rename
switch
提供比较实用的交互式的操作,目前的功能包括:
- add :添加新的
kubeconfig
到$HOME/.kube/config
中 - completion :命令行自动补全功能
- delete:删除已有的
context
,提供交互式和指定删除两种方式 - merge:将指定目录中的
kubeconfig
合并为一个kubeconfig
文件 - rename:重名指定的
context
,提供交互式和指定重命名两种方式 - switch:交互式切换
context
命令行自动补全
kubecm 提供了和 kubectl 一样的 completion 命令行自动补全功能
source <(kubecm completion zsh)
之后,在输入 kubecm
后按 tab 键,就可以看到命令行自动补全的内容
操作 kubeconfig
你可以通过kubecm --help
查看有哪些命令行选项,选项不多,都是见名知意的那种,这里不列举了。
效果图
kubecm list
kubecm switch
切换集群或者切换用户角色
好了,kubecm
这个工具就分享完了,如果你有哪些平时使用上高效的小工具,也可以在留言区告诉我们,感谢分享。