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

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