LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。
はじめに
kubectlコマンドの補完に関するメモです。
こちらを参考にしています。
Linuxのbashなどであればファイルパスなどtabキーで補完できますが、
同じようにkubectlも使えれば楽だよなぁっていう技です。
CKAの試験時にも使える便利な技なので、覚えておくといいかと思います。
やってみる
具体的には、以下のような場面で補完出来れば操作が楽になります。
※kubectl get podsを実行したい。
kubeuser@master01:~$ kubectl g error: unknown command "g" for "kubectl" Did you mean this? get cp kubeuser@master01:~$ kubectl get p error: the server doesn't have a resource type "p"
以下でOK。
後日ログインして操作する時などに備えて永続的に反映したい場合は、
~/.bashrc に追記します。
kubeuser@master01:~$ source <(kubectl completion bash) kubeuser@master01:~$ echo "source <(kubectl completion bash)" >> ~/.bashrc
これでOK!
tabキーを使った補完や複数候補ある場合には、候補が表示されます。
kubeuser@master01:~$ kubectl get d daemonsets.apps deployments.apps
kubectlがなげぇ!って感じる方は、aliasも使うと便利。
kubeuser@master01:~$ alias k=kubectl kubeuser@master01:~$ complete -F __start_kubectl k
大丈夫と思いますが、永続化は以下。
kubeuser@master01:~$ echo "alias k=kubectl" >> ~/.bashrc kubeuser@master01:~$ echo "complete -F __start_kubectl k" >> ~/.bashrc