推荐两款k8s客户端小工具
工欲善其事必先利其器,适当使用一些小工具可以减少不少打字的功夫,这里向大家推荐两款好用的k8s
客户端小工具。
kubectx
这个项目包含了两个shell小工具kubectx
和kubens
,源码:https://github.com/ahmetb/kubectx
kubectx
:可方便集群间来回切换(切换kubectl
上下文),如果你只有一个k8s
集群则不需要用到这个工具。
kubens
:可用于切换k8s
namespace(命名空间),这个会比较常用一些。比如你安装了minikube
后默认的命名空间是default
,而default
里面一开始是没有任何pod的,这时候你运行kubectl get pod
会提示“No resources found in default namespace.”,而kube-system
下面是有pod在运行的,于是我们可以运行kubens kube-system
切换到kube-system
命名空间,再输入kubectl get pod
就可以看到一些运行中的pod了。
在macOS
安装非常简单,运行下面命令就会安装好kubectx
和kubens
这两个小工具了:
brew install kubectx
详细用法说明和其他系统的安装请参考它的github页面,说得很清楚。
prompt
这个是用来在bash
或者zsh
显示你当前使用中的k8s
的提示信息,源码:https://github.com/jonmosco/kube-ps1
在macOS
可以这样安装:
brew install kube-ps1
然后如果你用的是zsh
,你可以在你的~/.zshrc
加入下面两行:
source "/usr/local/opt/kube-ps1/share/kube-ps1.sh"
PROMPT=‘$(kube_ps1)’$PROMPT
如果你用的是bash
,你可以在你的~/.bashrc
加入下面两行:
source "/usr/local/opt/kube-ps1/share/kube-ps1.sh"
PS1='[\u@\h \W $(kube_ps1)]\$ '
更多安装和配置说明请参考它的github页面。
安装完并使它生效之后,你就可以看到类似下面的命令行提示了,可以清楚自己目前连接的是哪个k8s
集群以及当前生效的命名空间:
如果你想关闭这个提示,可以运行kubeoff
。