kubectx 和 kubens工具
运维k8s的小伙伴们,平时敲的最多的命令应该就是kubectl -n
了吧。
每次要在某个namespace空间下执行命令,都要加个-n namespce我觉得挺烦的。
有个开源工具可以解决这个烦恼。
kubens
kubens的功能就很简单,目的就是代替kubectl -n。
使用kubens指定了namespace之后,使用kubectl的命令就是在这个namespace下指定的了。

kubectx
我之前写过一篇文章,将怎么配置kubeconfig文件来管理多个集群
使用kubectl config命令可以切换默认执行的集群。
现在推荐kubectx这个工具,在管理多个集群时可以更方便的切换
使用方法
bash
kubectx # 查看集群列表
kubectx cluster-name # 切换集群
(这个也需要你先将kubeconfig文件配置好,只是操作起来更方便)
顺便说一个快速合并kubeconfig文件的方法
假设我们有两个 kubeconfig 文件,分别为 kcA 和 kcB。执行以下命令将它们合并到 kc文件中:
ini
KUBECONFIG=kcA:kcB kubectl config view --flatten > kc
这里使用了 KUBECONFIG
环境变量来指定要合并的 kc文件,用冒号分隔多个文件路径。kubectl config view --flatten
命令用于将 kubeconfig 文件的内容展平为一个文件。最后,将合并后的内容重定向到 kc
文件中。
安装
bash
sudo git clone https://github.com/ahmetb/kubectx /opt/kubectx
sudo ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx
sudo ln -s /opt/kubectx/kubens /usr/local/bin/kubens
另一种方式安装
也可以安装为kubectl命令的增强插件
kubectl krew install ctx
kubectl krew install ns
这种方式是这样使用的:
kubectl ctx
kubectl ns
本文使用 markdown.com.cn 排版