1、kubectl completion简介
kubectl completion
用来命令自动补全。在kubernetes的早期版本中,contrib下面提供了bash-completion的补全文件completions/bash/kubectl。而在1.3之后,则使用kubectl completion命令来直接生成用于补全的此文件。
除非设置了--overwrite,否则试图设置已经存在的注释将失败。如果指定了--resource-version,且与服务器上的当前资源版本不匹配,则命令将失败。使用"kubectl api-resources"获取支持资源的完整列表。
2、kubectl completion语法
kubectl completion SHELL
3、kubectl completion配置自动补全
1)kubectl命令临时自动补全
yum install -y bash-completion
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
2)kubectl命令自动补全永久生效
将配置命令加入/root/.bashrc
文件,从而kubectl命令自动补全永久生效:
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc
# echo "source <(helm completion bash)" >> ~/.bashrc
source ~/.bashrc
echo "source /usr/share/bash-completion/bash_completion">>/root/.bashrc
source /root/.bashrc
4、离线方式配置
1)下载离线包
下载地址:https://github.com/scop/bash-completion/releases
2)解压文件
tar -xvJf bash-completion-2.11.tar.xz
3)命令补全生效
cd bash-completion-2.11
source $PWD/bash_completion
4)当前用户生效
echo 'source <(kubectl completion bash)' >>~/.bashrc source ~/.bashrc
5)全局生效
echo 'source <(kubectl completion bash)' >>/etc/profile sorce /etc/profile
5、自动补全使用
命令终端输入kubectl命令后,连续按两次TAB键,就会输出kubectl后面可以使用的命令提示。如下图,
相关文档:
macOS: https://kubernetes.io/docs/tasks/tools/install-kubectl-macos/#enable-shell-autocompletion
linux: https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/#enable-shell-autocompletion
windows: https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/#enable-shell-autocompletion