如何启用kubernetes命令自动完成



我厌倦了手工编写所有kubectlkubeadm命令。有什么方法可以对这些命令启用自动完成功能吗?

Bash解决方案

# Execute these commands
$ echo "source <(kubectl completion bash)" >> ~/.bashrc
$ echo "source <(kubeadm completion bash)" >> ~/.bashrc
# Reload bash without logging out
$ source ~/.bashrc 

kubectl

对于Bash自动启动和当前会话:

# update settings
cat <<'EOF' >> ~/.bashrc
source <(kubectl completion bash)
alias k=kubectl
complete -o default -F __start_kubectl k
EOF
# reload settings
source ~/.bashrc 

仅适用于当前终端会话:

source <(kubectl completion bash)
alias k=kubectl
complete -o default -F __start_kubectl k

CCD_ 3是CCD_ 4的别名。因此,以下命令是相同的:

kubectl get pods
k get pods

对于其他shell,您也可以启用自动完成。检查输出:

$ kubectl completion --help
...
source <(kubectl completion zsh)
kubectl completion fish | source
kubectl completion powershell | Out-String | Invoke-Expression
...

每个shell都会有说明,包括自动启动。

kubeadm

对于Bash自动启动和当前会话:

# update settings
cat <<'EOF' >> ~/.bashrc
source <(kubeadm completion bash)
alias ka=kubeadm
complete -F __start_kubeadm ka
EOF
# reload settings
source ~/.bashrc 

仅适用于当前终端会话:

source <(kubeadm completion bash)
alias ka=kubeadm
complete -F __start_kubeadm ka

kakubeam的别名。因此,以下命令是相同的:

kubeadm version
ka version

对于其他shell,您也可以启用自动完成。检查输出:

$ kubeadm completion --help
...
source <(kubeadm completion zsh)
...

(目前只支持bash和zsh(

最新更新