設定後のイメージ
設定後の使用イメージは以下の通り。TAB入力で候補が表示されます。入力途中の補完もあり。
$ kubectl ::TABプッシュ::
alpha attach completion create exec logs proxy set wait
annotate auth config delete explain options replace taint
api-resources autoscale convert describe expose patch rollout top
api-versions certificate cordon drain get plugin run uncordon
apply cluster-info cp edit label port-forward scale version
設定
bash-completion
が入ってない場合はapt-get install bash-completion
でインストール。
.bashrc
に以下を追加。
.bashrc(追加部分のみ)
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
source <(kubectl completion bash)
source <(helm completion bash) # いれてない場合は削除
source <(skaffold completion bash) # いれてない場合は削除
fi
Dockerの場合はDockerfile
に以下を追加
Dockerfile(追加部分のみ)
RUN echo "\
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then\n\
. /etc/bash_completion\n\
source <(kubectl completion bash)\n\
source <(helm completion bash)\n\
source <(skaffold completion bash)\n\
fi\n\
" >> ~/.bashrc # いれてないものは削除
あとはsource ~/.bashrc
か、Dockerならコンテナ再起動で動くはず。
参考ページ
- Enabling shell autocompletion - Install and Set Up kubectl
- helm completion
-
_get_comp_words_by_ref command not found
_get_comp_words_by_ref command not found
みたいなエラーが出たら、bash-completion
が動いてないか、バージョンが古いかっぽい