Kubernetes の GUI クライアントアプリ。こちらの記事(Kubernetes GUI クライアントの紹介)によると、オープンソースプロジェクトの Lens から派生したものらしい。
とりあえず Kubernetes Dashboard をデプロイして、クラスタの様子を見るために使っていた。
(参考)Kubernetes ダッシュボードとは
マニフェストの記述なんかもできるけど、もう少しとっつきやすい GUI クライアントは無いかと探していたところ、OpenLens が良さそうなので試してみた。
OpenLens の入手とインストール
ダウンロード
https://github.com/MuhammedKalkan/OpenLens/releases から最新版(2023.11.5時点 v6.5.2-366)をダウンロードする。自分のノート PC は Pop!_OS だから OpenLens-6.5.2-366.amd64.deb をダウンロードした。
インストール
ダウンロードしたファイルを sudo apt install OpenLens-6.5.2-366.amd64.deb でインストールする。
リポジトリの追加とか無いからバージョンアップは最新版をチェックしながらマニュアルで。
あと、インストールするノート PC に ~/.kube/config がなければ、クラスターの Master Node から scp でコピーしておくと、この後がスムーズに進められる。
OpenLens を起動する
アプリ一覧に出ているアイコンをクリックして起動する。

Browse Clusters in Catalog > をクリックすると、~/.kube/config を読み込んで次の画面が表示される。

画面右下の「+」をクリックすることで後からクラスターを追加することも可能。
表示されているクラスターをピン止めすると、画面左側の四角いマスに追加される。
ノードの様子がこれ。

Pods の様子はこちら。
右上の namespaces のドロップダウンで All namespaces を選択している状態。

Helm の Charts をクリックして、mastodon を選択した状態がこちら。
右端の青い「Install」をクリックすればデプロイできるようだ(まだ試してない)。

Strage Classes には nfs-csi が表示されている。

拡張機能

「ログ」と「シェル」のボタンを表示するためのもの。
導入は画面左上のバーガーメニューから「File」「Extensions」と選択して、テキストボックスに @alebcay/openlens-node-pod-menu を入力して Install するだけ。
拡張機能が enabled と disabled の間で急速に切り替わる場合は、OpenLens を再起動し、改めて拡張機能ページで有効にする。

使い方としては、例えば左側のメニューで Nodes を選択した状態で、ノードの一つ(例では k8s-node1)をクリックすると、画面右上の青い箇所に「Node Shell」のボタンが表示され、ボタンをクリックすると画面下にノードのシェルが表示される。
また、Workloads の Pods を選択した状態で、いずれかの pod をクリックすると「Pod Shell」と「Pod Logs」のボタンが表示される。ボタンをクリックすると画面下にシェルやログが表示される。

これは便利。
感想
例えば、まだロードバランサーをデプロイしていなければ OpenLens から導入することも可能。
また、画面下の Termial をクリックするとノート PC のターミナルが開く。「+」をクリ���クして New Tab でCreate resource を開くと、テンプレートから pod をはじめ様々なリソースを作ることができる。
ターミナルから kubectl で完結できる人は別として、OpenLens のような GUI クライアントがあれば Kubernetes を使ってみようと考える初心者も増えるかも。
・・・自鯖で Kubernetes が必要な環境としては趣味か勉強が目的だろうから、多くの人が興味を持てるようになるのは良いことだと思う。
コメント