kubectlコマンドの補完を有効化する

kubectlコマンドはサブコマンドがあったり、オプションがあったりで覚えるのも入力するのも面倒。bash/zsh向けには補完する機能があるので、有効化してみた。Fedora27/bashの環境でのメモ。

$ cat /etc/redhat-release 
Fedora release 27 (Twenty Seven)
$ echo $SHELL
/bin/bash

まず、bash-completionパッケージが必要なのでインストール

$ sudo dnf install bash-completion

で、kubectl completionで補完する設定を吐き出してくれるので適当なファイルに吐き出して、bash_profileの中でsourceで読み込んであげればOK*1

$ kubectl completion bash > ~/.kube/completion.bash.inc
$ printf "
> # kubectl shell completion
> source '$HOME/.kube/completion.bash.inc'
> " >> $HOME/.bash_profile
$ source $HOEM/.bash?profile

これでkubectlの補完が有効になるはず。

minikueopenstackコマンドも同じようにして補完を有効にできますね。

*1:kubectl completion -hとかでやり方は確認可能