はじめに
さて前回、Hipster Shop をとりあえず起動するところまで試してみました。
adservice-56d6b86b69-ps58x 1/1 Running 0 12mcartservice-5b769fbcd-vghph 1/1 Running 0 12mcheckoutservice-76cf7d66c4-9cn26 1/1 Running 0 12mcurrencyservice-676c45cbd8-sbndb 1/1 Running 0 12memailservice-554cd4f969-lt5hz 1/1 Running 0 12mfrontend-b8454cdfd-s7whb 1/1 Running 0 12mloadgenerator-545785998f-b78cx 1/1 Running 0 12mpaymentservice-7945c44864-8jtsb 1/1 Running 0 12mproductcatalogservice-dc8b5785-2grmp 1/1 Running 0 12mrecommendationservice-b64fdd8c5-7gpw8 1/1 Running 0 12mredis-cart-5f5479d755-ncsfn 1/1 Running 0 12mshippingservice-64c4994bdd-xhlw9 1/1 Running 0 12m
上記 12個の Pod からなるマイクロサービスで、これらを操作するには各サービスの yaml ファイルをいじったり、ログをみたりしなくてはなりません。
個人的には Kubernetes の複雑さ・とっつきにくさを助長させる要素のひとつに、たくさんのファイルを行き来することや kubectl コマンド自体が抱える複雑さがあると考えています。
kubectl 、サブコマンドだけでなんと 27 項目あり、リソースタイプは 49 項目もある…もぅマヂ無理。モノリスカしょ…
と、いうわけで今回は k9s をインストールし kubectl コマンドなしにログの確認や各リソースの操作を行えるようにしていきます!
k9s is ナニ??
端的に説明すると、 Kubernetes クラスタの操作性を向上させるための CLI ツールです。
k9s 上から Kubernetes の各リソースに対し、以下のような操作を行うことが可能です。
- ログの
tailができたり - 各リソース定義ファイルを編集できたり
shellを実行して操作ができたり- リソース自体の削除やプロセスの
killができたりします!
etc, etc...
つまり既に動作中のリソースに関しては k9s 経由でわりとなんでもできちゃうのです!
kubectl コマンドを使わずともリソース操作が可能になるのはとっっってもありがたい!!
Goodbye to kubectl!!!
Hello k9s World!!!
ところでこのロゴはどうなのよ?もうちょっとかわゆくできなかったものか(´・ω・`)
(ちなみにぼくはこういうツールなどの語源がかなり気になるタチなのですが、なぜ k9s なのかはかるーく調べてもわかりませんでした…ぐやじい…)
導入導入〜
というわけで早速インストールします!MacOSの場合は brew コマンドで一発です。
brew tap derailed/k9s
brew install k9s
一発すぎてなにも言うことがない。便利な世の中だよ、ほんとにさ。
起動起動〜
早速起動してみましょう!k9s コマンドで起動します。
起動直後の画面では、現在使用中のクラスタの Pod 一覧を表示します。
数えてみると、確かに12 個の Pod が稼働していますね。
各 Pod に対して行うことが可能な操作の一覧が画面上部のコマンド部分にまとまっています。
矢印キーで対象の Pod を選択し、上記のキーを押して操作ができます。
例えばログを見たければ l でログのtailが始まり、