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