はじめに
みなさんShellは何を使われていますでしょうか?
私は**Fish**です。もともとZsh派でしたが、起動の遅さにストレスを感じ乗り換えました。
最高なFishですが、Zshに比べてKubernetes周りの環境が整っていないという弱点があります。そこで、今回はFishユーザのための環境構築について書きつつ今後の発展を願っていきます。
プロンプトでオペミスを防げ!
複数のクラスタを操作していると「別のクラスタのコンテナ消してしまった😨」ということが起こりがちです。そんなオペミスを防ぐためには、プロンプトにContextとNamespaceを表示させるなど常にチェックできる環境を作る必要があります。
Zshにはzsh-kubectl-promptがありますが、残念ながらFishにはありません。
そこで、今回はfish-kubectl-promptをご用意しました。
実際のプロンプトはこんな感じ。よろしければご利用ください。
Kubernetesの便利コマンド
kubectlだけでも十分に操作できますが、なんでも操作できるが故にコマンド引数が長かったり数ステップ必要だったりと物足りなさを感じることがあります。そんなあなたにお勧めするのがsternとkubectxです。sternはログの閲覧、kubectxはContextやNamespaceの切り替えを楽にしてくれます。
Fishは関係ありませんでした
kubectlを補完するには
残念ながら本家にはFishのCompletionが入っていません。現在の議論の様子は下のIssueを見ると分かるかと思います。CobraにFish用のCompletion Generatorが入って欲しいところですが、まだ時間が掛かりそうです。
公式ではありませんが、GitHubで公開されているevanlucas/fish-kubectl-completionsは一つの選択肢です。
おわりに
Fishで快適Kubernetesライフを送りましょう。