3s-setup.sh の更新

趣味で作っていた k3s-setup.sh を久しぶりに更新した。
 
ソースはこちら。
 
動作要件のリマインド:
 
  • Ubuntu Server 26.04 / 24.04.3
  • amd64 / arm64
  • 4 vCPU、8GB RAM、50GB以上の空きディスク
最低要件を満たしていない場合は、インストーラーが即座に停止するようにしてある。
また、CPUの仮想化支援機能が利用可能な環境でのみ KubeVirt が自動的にインストールされる。
 
実際に快適に使うのであれば、8 vCPU、16GB RAM、200GB程度のディスク容量があったほうがよいと思う。
ネットワークについては DHCP で IP アドレスが 1 つ取得できれば十分で、DNS の事前設定などは不要。Traefik は sslip.io を利用して、そのままアクセスできるようになっている。
 
 
もともとは、とある製品のテスト環境を手早く作るためのスクリプトで、あえて古いバージョンの K3s を使う構成にしていた。ところが、このスクリプトをどこかの製品で組み込みたいらしく、先方から「ライセンスはどうなっていますか?」という丁寧な連絡をいただいた。
とはいえ、こちらとしては完全に As-Is の趣味レベルで作っていたものなので、基本的には「好きに使ってください」というスタンスでいる。
 
その後、KubeVirt なども追加し、「とりあえず何でも動く K3s インストーラー」のような状態にしていたのだが、しばらくメンテナンスしていなかった。Ubuntu 26.04 も出たことだし、今回は K3s、Longhorn、KubeVirt を最新版に更新した。
当初は、最新版に上げることで何か影響が出るかもしれないと思っていた。特に、このスクリプトの出自が「古い Kubernetes 前提の製品をテストするための環境」だったからだ。ただ、その製品はいまだに Kubernetes の最新版に追従できていないし、そもそも自分自身がその製品をもう触ることもない。そこで、今回は最新版(1.36)へ寄せても問題ないと判断した。
 
ついでに あまり使うこともないが、Dashboard も入れようと思って調べていたところ、Kubernetes Dashboard はすでにメンテナンス終了となっていた。今は猫も杓子も AI の時代である。そこで、AI 対応の Dashboard である Radar も入れてみた。Open WebUI の MCP サーバーも StreamHTTP で簡単に登録できてしまった。
 
 
使うことがないと思ったKubernetes DashboardのRadarは、何とセキュリティチェックとかもしてくれる。これならDashboardを入れる価値は逆にありそう。
 
MCPは、このダッシュボードにあるURLで認証無しで登録すればOK。
 
実際に動かしてみると以下のような感じになる。
 
 
 
使うこともないだろうと思って、見栄えだけで入れた Dashboard が、思わぬ掘り出し物になった。
 
Radar 自体は英語 UI なのだが、MCP 経由で Open WebUI からアクセスすると、日本語で Kubernetes クラスタに質問できる。
 
例えば、
  • 「Longhorn で異常はある?」
  • 「Pending の Pod は?」
  • 「Ingress の設定を確認して」
  • 「セキュリティ上、問題になりそうな設定は?」
といった具合に、日本語で聞けば日本語で答えてくれる。つまり、Dashboard の英語 UI を読む必要がなくなる。
 
Kubernetes Dashboard は英語だから……と敬遠していた人でも、MCP を経由して AI に日本語で質問するだけなら、かなり敷居は低い。これまで Dashboard は「人間が見る画面」だったが、AI 時代では「AI がクラスタを観察するためのデータソース」としての役割が大きくなってきたように感じる。
 
見栄えだけで入れた Dashboard が、まさか MCP 対応によって一番便利なコンポーネントになるとは思わなかった。
 
 
 
なお、このスクリプトは Incus VM、つまり KVM 上の Ubuntu Cloud Image でのみ動作確認している。おそらく Ubuntu Server 26.04 の物理マシンでも動くとは思うが、そこまでは確認していない。
VMware を使わなくなったのも時代の流れを感じる。とはいえ、Apple Silicon 上で仮想環境を使うなら、VMware Fusion は今でも便利だと思う。

コメントする