kubectl completion -hでも出てくる通り、
$ kubectl completion bash > ~/.kube/completion.bash.inc
$ printf "
# Kubectl shell completion
$ source '$HOME/.kube/completion.bash.inc'
" >> $HOME/.bash_profile
source $HOME/.bash_profile
とすれば、kubectlの補完が可能となる。
alias kc=kubectlのように設定している場合、上記設定では「kc」で入力した場合には補完が効かない。 エイリアスで入力した場合にも効くようにするには、以下のように修正した上で、上記同様bash起動時に 読み込まれるよう設定すればよい。
$ cp $HOME/.kube/completion.bash.inc $HOME/.kube/completion_kc.bash.inc
$ vi $HOME/.kube/completion_kc.bash.inc
※以下の箇所の末尾のkubectl→kcとする(ifの中とelseの中の2箇所)
if [[ $(type -t compopt) = "builtin" ]]; then
complete -o default -F __start_kubectl kubectl
else
complete -o default -o nospace -F __start_kubectl kubectl
fi