Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

kubectlコマンドの補完やalias


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

Opensourcetech by Takahiro Kujirai