LoginSignup
11
6

More than 3 years have passed since last update.

kubectl の補完機能

Posted at

はじめに

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コマンドの使用方法

さいごに

参考になれば幸いです。

11
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
6