
本記事はFIXER Advent Calendar 2020 15日目の記事です。
k8sお勉強中の冨本です。半年間毎日k8sと睨めっこして、kubectlでの操作にも多少慣れてきました。しかし流石に毎日となるとグラフィカルで操作性の良いツールとか無いかなぁと思ってしまったりするものです。そこで調べていたらk8sのIDEなるものが。Lensと言うそうです。本記事ではLensとは何か、Lensを使って便利だったところ、Lensにk8sクラスターを登録するまでを紹介します。
Lensとは
Lensとはオープンソースかつ無料のk8sのIDEです。Electronベースのアプリケーションで、Windows、macOS、Linuxをサポートしています。結構人気みたいで、Githubのスター数は11000件を超えています。IDEの見た目はこんなかんじ↓

Lensを使って便利だったこと
クラスターの切り替えが楽ちん
実際にk8s周りを作業をしている時、複数クラスターを跨いで作業することが多いです。クラスターの切り替えをを一々やるの結構面倒でして、Lensの場合はGUIですので複数クラスターを登録しておけばクラスターのアイコンをクリックするだけで切り替えが出来ます。
ちなみにこいつTerminalも使えるのですが、Terminalの接続設定も自動で切り替えてくれているのでほんとに便利です。

GUIでの簡単な操作
kubectlで作業する時、
作業する対象のリソース名やnamespace名を調べる
↓
情報のコピー
↓
コマンドの実行
のような流れで作業を行っていたのですが、正直面倒くさいです。。。まあkubectlに慣れてしまっていて、作業が苦で無いのであれば全然良いのですが、私は面倒くさがりなのでGUIに頼りがちです。リソースの閲覧(describe、event、get)や編集(edit)や削除(delete)、その他の作業(podへのexec)などパパっと実行でできるので助かっています。もちろんTerminalもあるのでCLIの方が作業しやすい場合はそちらを使うなどで使い分けしています。

メトリックの表示
やはり一番感動したのはこれかなぁ。クラスター全体やNodeごと、コンテナごとなどでメトリックが取得できて、いい感じに表示してくれるんですね。具体的には以下の画像のように基本的なOSメトリックからネットワークのメトリックまで取得、表示をしてくれます。別で監視の設定は入れているとはいえ、作業しながらリアルタイムで状態が見れるのは安心感が違いますね。



Lensを使う
1. Lensのインストール
まず公式サイトにアクセスします。すると真ん中にDownloadボタンがありますね。Downloadしてインストールしましょう

2. クラスターの追加
左側の+(Add Cluster)ボタンをクリックしてクラスターを追加します。 Select kubeconfig file
で接続設定ファイルを指定するか 、Paste as text
で接続情報を直接指定するかでOKです。追加したら Add cluster
でクラスター追加して完了です。

まとめ
今回はk8sのIDEであるLensを紹介しました。k8sをよく触る方は作業の効率化として十分使えると思いますし、k8s触ってみたいなーみたいな人にもGUIになり、結構取っ付きやすくなるのでおすすめです。寒くなってきましたが、体調管理には気をつけて良い年末を。明日は吉田君平さんのFIXER Advent Calendar 2020 16日目です!!