kubernetes下提效工具

  |   0 评论   |   64 浏览

背景

kubernetes下提效小工具。

  • 自动补全
  • kube-ps1: 提示符
  • kube-shell: 交互式带命令提示的kubectl终端
  • kubectx: 切换cluster
  • kubens: 切换namespace

工具

自动补全

配置

对于mac下的zsh:

  1. 将下面两行添加到 ~/.zshrc中即可:
autoload -Uz compinit
compinit
  1. 执行补全

单次运行

source <(kubectl completion zsh)  

自动加载

kubectl completion zsh > "${fpath[1]}/_kubectl"
  1. 附录

执行下面的命令,会有提示如何安装:

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
  1. 自动补全

边输入命令,边给出提示

  1. 指令指示

边输入命令,边给出提示。按方向键上下,来选择对应的提示。

  1. 命令历史

查看命令历史

kube-shell> !tail ~/.kube/shell/history
  1. 模型搜索
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".

参考