如果你有多个Kubernetes集群或者namespace需要管理,那么每次就要敲一长串kubectl命令,实在是累手指,而且还容易出错。

用这些工具就可以在各个集群和namespace之间快速切换,让你的管理工作变得更加轻松。

安装步骤,操作系统Debian 12:

1.在日常管理的主机上,安装软件包

apt install kubectl
apt install kubectx
git clone https://github.com/jonmosco/kube-ps1

编辑.bashrc文件,添加如下内容

source /root/kube-ps1/kube-ps1.sh
PS1='[\u@\h \W $(kube_ps1)]\$ '

其中/root/kube-ps1/kube-ps1.sh是kube-ps1.sh文件的所在位置,按照实际情况修改。

2.收集各个集群的kubectl配置文件

Kubernetes集群的配置文件,默认放在~/.kube/config 文件里面,也可以通过echo $KUBECONFIG命令获得文件位置。

K3S集群的配置文件,默认放在/etc/rancher/k3s/config.yaml文件里面。

把每个集群的kubectl配置文件都拷出来,放到管理主机上。

3. 合并配置文件

在管理主机上,运行

KUBECONFIG=a.conf:b.conf:c.conf kubectl config view --flatten > .kube/config

其中a.conf:b.conf:c.conf是各个集群的配置文件名称,根据实际情况调整。

4. 修改合并后的配置文件

在管理主机上,编辑 ~/.kube/config文件,修改context下的各个name条目以及current-context条目,把它们改成比较简短易记的名称。

这样,安装就结束了。

使用方法:

kubectx <cluster context name>

kubens <namespace>

kubectx – 回到上一个集群

kubens – 回到上一个namespce

以后每次运行kubectl命令,就不用再指定namespace了。

BASH的提示符上,也会显示出当前的集群和namespace,避免出错。

参考:

https://github.com/ahmetb/kubectx

https://github.com/jonmosco/kube-ps1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注