はじめに
Kubernetesを触り始めて、kubectlって毎回入力するの手間だなと思い、エイリアス設定したら補完機能使えなくなったので対応方法をまとめました。
自分の中で整理したくて投稿しました。
補完機能の設定方法
そもそも、kubectl 入力後TABキーを押してもサブコマンドが候補として出てこないので、下記コマンドで設定する必要があります。
$ source <(kubectl completion bash)
ただ、これだけだと再起動すると毎回実行しないといけないので、~/.bashrcに記述しておきます。
$ vi ~/.bashrc
(以下をファイル末尾等に記入)
source <(kubectl completion bash)
保存して終了後下記を実行し、記述ミスないか確認しときます。
(記入ミスあって再起動したらシェルが上手く立ち上がらなくなるので、、)
$ . ~/.bashrc
エイリアス設定
補完機能だけでも大分楽にはなるんですけど、kubeから始まるコマンド(kubeadmやkubesec等)が色々いじっているといっぱいできるので、エイリアス設定しようと思いました。
$ alias k='kubectl'
でTABキーを押すと、どうなるのかというとkでTABキーを押すとファイル名が補完候補として出てきてしまいます。
これだと前と一緒なので、下記コマンドを実行してエイリアスも補完機能を有効にします。
$ complete -o default -F __start_kubectl k
これで、エイリアスでも補完機能が有効になります。
ただ、端末落とすとまた無効になってしまうので、~/.bashrcに記述しておきます。
$ vi ~/.bashrc
(以下をファイル末尾等に記入)
alias k='kubectl'
complete -o default -F __start_kubectl k
下記コマンドの実行も忘れずに。
$ . ~/.bashrc
###補足 completeコマンドとは
Bashでコマンドラインで補完を行う方法を指定するコマンドです。
詳細は下記URLをご確認ください。
completeコマンドの使用方法
さいごに
参考になれば幸いです。