kubernetes下提效工具
背景
kubernetes下提效小工具。
- 自动补全
- kube-ps1: 提示符
- kube-shell: 交互式带命令提示的kubectl终端
- kubectx: 切换cluster
- kubens: 切换namespace
工具
自动补全
配置
对于mac下的zsh:
- 将下面两行添加到
~/.zshrc
中即可:
autoload -Uz compinit
compinit
- 执行补全
单次运行
source <(kubectl completion zsh)
自动加载
kubectl completion zsh > "${fpath[1]}/_kubectl"
- 附录
执行下面的命令,会有提示如何安装:
kubectl completion -h
效果
按 Tab
补全,如:
kubectl get deployments
kube-ps1
安装和配置
安装
$ brew update
$ brew install kube-ps1
配置
修改 ~/.zshrc
文件
source "/usr/local/opt/kube-ps1/share/kube-ps1.sh"
PS1='$(kube_ps1)'$PS1
启用和禁用
- 本shell禁用:
kubeoff
- 全局禁用:
kubeoff -g
- 本shell启用:
kubeon
- 全局启用:
kubeon -g
效果
(⎈ |1111222233334444-aaaabbbbccccdddd:default)note@abeffect ~ %
上面的提示信息对应于 ~/.kube/config
中的name字段和namespace字段。
kube-shell
安装
% pip3 install kube-shell
使用
kube-shell
- 自动补全
边输入命令,边给出提示
- 指令指示
边输入命令,边给出提示。按方向键上下,来选择对应的提示。
- 命令历史
查看命令历史
kube-shell> !tail ~/.kube/shell/history
- 模型搜索
kube-shell> kubctl
kubectl kubectl
kubectx 和 kubens
安装
brew install kubectx
配置多集群
export KUBECONFIG=$KUBECONFIG:$HOME/.kube/config-a
export KUBECONFIG=$KUBECONFIG:$HOME/.kube/config-b
export KUBECONFIG=$KUBECONFIG:$HOME/.kube/config-c
注意:上面多个cluster的配置文件中的cluster name, user name都需要是不同的 😰,或者手动改成不同的,否则切换集群的时候会报错。
使用kubectx
重新进入zsh shell,
note@abeffect ~ % kubectx
1111222233334444-aaaabbbbccccdddd
note@abeffect ~ % kubens
default
kube-public
kube-system
重命名集群
kubectx <NEW_NAME>=<NAME>
重命名当前集群
kubectx <NEW_NAME>=.
使用kubens
$ kubens kube-system
Context "test" set.
Active namespace is "kube-system".
$ kubens -
Context "test" set.
Active namespace is "default".