Kubernetes(k8s) kubectl completion常用命令

kubectl 在 $HOME/.kube 目录中查找一个名为 config 的配置文件。 可以通过设置 KUBECONFIG 环境变量或设置 --kubeconfig 参数来指定其它 kubeconfig 文件。本文主要介绍Kubernetes(K8s)中kubectl completion常用命令。

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


推荐阅读
cjavapy编程之路首页