共计 2595 个字符,预计需要花费 7 分钟才能阅读完成。
1、前言
该项目脱胎于
2、kubecm
-
add :添加新的
kubeconfig
到$HOME/.kube/config
中 -
completion :命令行自动补全功能
-
delete:删除已有的
context
,提供交互式和指定删除两种方式 -
merge:将指定目录中的
kubeconfig
合并为一个kubeconfig
文件 -
rename:重名指定的
context
,提供交互式和指定重命名两种方式 -
switch:交互式切换
context
3、安装
3.1 MacOS
使用 brew
或者直接下载二进制可执行文件
brew install sunny0826/tap/kubecm
3.2 Linux
下载二进制可执行文件
# linux x86_64
curl -Lo 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
sudo mv kubecm /usr/local/bin/
3.3 Windows
4、命令自动补全
以 zsh
为例,在 $HOME/.zshrc
中添加
source <(kubecm completion zsh)
然后使用 source
命令,使其生效
source $HOME/.zshrc
之后,在输入 kubecm
后按 tab
键,就可以看到命令行自动补全的内容
5、操作 kubeconfig
5.1 查看
# 查看 $HOME/.kube/config 中所有的 context
kubecm ls
{17:29}~ ➭ kubecm ls
+------------+-----------+-----------------------+--------------------+------------------------------+--------------+
| CURRENT | NAME | CLUSTER | USER | SERVER | Namespace |
+============+===========+=======================+====================+==============================+==============+
| | ldf | cluster-f2mk9984gk | user-f2mk9984gk | https://172.20.2.118:6443 | default |
+------------+-----------+-----------------------+--------------------+------------------------------+--------------+
| * | zstack | cluster-th9975gt2t | user-th9975gt2t | https://10.234.2.11:6443 | default |
+------------+-----------+-----------------------+--------------------+------------------------------+--------------+
Cluster check succeeded!
Kubernetes master is running at https://10.234.2.11:6443
Contains components: [scheduler controller-manager etcd-0]
5.2 添加
# 添加 example.yaml 到 $HOME/.kube/config.yaml,该方式不会覆盖源 kubeconfig,只会在当前目录中生成一个 config.yaml 文件
kubecm add -f example.yaml
# 功能同上,但是会将 example.yaml 中的 context 命名为 test
kubecm add -f example.yaml -n test
# 添加 -c 会覆盖源 kubeconfig
kubecm add -f example.yaml -c
5.3 删除
# 交互式删除
kubecm delete
# 删除指定 context
kubecm delete my-context
5.4 合并
# 合并 test 目录中的 kubeconfig,该方式不会覆盖源 kubeconfig,只会在当前目录中生成一个 config.yaml 文件
kubecm merge -f test
# 添加 -c 会覆盖源 kubeconfig
kubecm merge -f test -c
6、演示
7、参考文档
正文完