「Kubernetes」ユーザーであればご存じのように、「Rancher」はさまざまなインフラを横断して複数のKubernetesクラスターを実行、管理するための完全なソフトウェアスタックとして人気を集めている。そして今回、Linuxおよびクラウド分野の大手であるSUSEは、Rancher Labsの買収以降初となる新プログラムとして、「Rancher Desktop 1.0.0」をリリースしている。
「Rancher Desktop」は、Kubernetesコンテナー管理の学習や試行、テストを可能にするオープンソースのプログラムだ。このプログラムは現在、「M1」プロセッサーあるいはIntel製プロセッサーを搭載している「Mac」、「Windows」マシン(「Windows Subsystem for Linux:WSL」が必要)、Linuxマシンで稼働する。
これは、「Node.js」を活用した「Electron」アプリケーションであるため、多くのプラットフォームで実行可能だ。その主なビジネスロジックは「TypeScript」と「JavaScript」で記述されている。また実行時には、プラットフォームとしての機能を提供するために複数のプログラムを活用している。こういったプログラムには「K3s」や「kubectl」「nerdctl」「QEMU」、WSLが含まれている。
もちろん、各OSでこれらのコンポーネントすべてが必要とされているわけではない。例えばWSLは、そもそも「macOS」やLinuxで必要ない。
ソースコードからプログラムをビルドする際、「Node v16」の使用が推奨されている。Windowsの場合には、「Go」も必要となる。またLinuxの場合には、実行時にQEMUが必要となる。
これにより、Rancher Desktopでは以下の機能が利用可能になる。
- Kubernetesのどのバージョンを実行するのかを選択できるようになる。
- Kubernetesのバージョンを切り替えて、自らのワークロードがKubernetesの新バージョンでどのように動作するのかを確認できる。
- nerdctlによるコンテナーの実行や、イメージのビルドやプッシュとプルが可能になる。
- Kubernetes上でアプリケーションを公開し、ローカル環境からのアクセスを可能にできる
要するに、これらの機能によって特定のKubernetesを本番環境で試す前にローカル環境でテストできるようになるということだ。
Rancher Desktopでは、コンテナーエンジンとして「containerd」と「dockerd」のどちらを使用するのかを、外部インターフェースに影響を与えることなく内部的に決定できる。nerdctlを使うか「Docker」のコマンドラインインターフェース(CLI)を使う際に自らで決定できるのだ。これらのCLIによって、コンテナーイメージをビルド、プッシュ、プルし、コンテナーを実行することができる。
これらのツールでビルドしたイメージは、レジストリーからプッシュ/プルする必要なく、Kubernetes上で直接実行することができる。また、dockerdのランタイムを選択した場合、他のツールが使用するためのDockerソケットが利用可能になる。これにより、Dockerソケットと直接通信する、「k3d」といったツールが利用できるようになる。
プログラムは1.0リリースとされているが、まだ初期段階にある。SUSE Rancherチームは今後、機能やバグの修正などに関わる安定したリリースのプロセスを提供することを約束している。これには、想定されたスケジュールでバグを修正する定期的なパッチリリースが含まれる。チームは、機能リリースに含まれる小規模な機能や、より大型の問題にも活発に取り組んでいる。例えば、シンプルなものでは、VPNに接続する際のネットワークサポートの改善などだ。
この記事は海外Red Ventures発の記事を朝日インタラクティブが日本向けに編集したものです。