「Rancher Desktop 1.13」で、WebAssemblyを実験的サポート開始
今回は「「Rancher Desktop 1.13」で、WebAssemblyを実験的サポート開始」についてご紹介します。
関連ワード (採用、統合、開発環境等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
SUSEがオープンソースで開発し提供しているDockerコンテナの開発環境「Rancher Desktop」の最新バージョンとなる「Rancher Desktop 1.13.0」で、WebAssemblyが実験的にサポートされると発表されました。
We're proud to introduce Rancher Desktop v1.13
Starting this release, we've enabled experimental support for #WebAssembly workloads, leveraging the @spinframework from the folks @fermyontech
Learn how you can run #Wasm apps on Rancher Desktophttps://t.co/PzIpE83zwA
— Rancher (@Rancher_Labs) March 14, 2024
本バージョンではWebAssemlbyサポートはデフォルトでは有効になっていないため、ユーザーが明示的に設定画面でWebAssemblyサポートをオンにする必要があります。
すでにDocker DesktopやPodman Desktopは対応済み
Dockerコンテナの開発環境でのWebAssemblyサポートは、Docker DesktopやRed HatのPodman Desktopではすでに行われています。
参考:Docker DesktopがWebAssemblyランタイムを統合。コンテナと同様にWebAssemblyイメージを実行可能に
Docker DesktopでのWebAssemblyサポートは、コンテナランタイムのcontainerdにWebAssemblyをコンテナとして扱うShimである「runwasi」が統合されたことで実現されています。
参考:コンテナランタイムのcontainerdに、WebAssemblyをコンテナとして扱うための「runwasi」が統合。これからのコンテナランタイムはWebAssemblyと統合されていく
一方、Podman DesktopでのWebAssemblyサポートは、Podman Deskotpが採用しているコンテナランタイムである「crun」がWebAssembly拡張機能を通してWebAssemblyをサポートしていることで実現されています。
SpinフレームワークによるWebAssemblyサポート
今回のRancher DesktopによるWebAssemblyサポートは、[ドキュメントによると]8https://docs.rancherdesktop.io/1.13/tutorials/working-with-webassembly)containerdでWebAssemblyを扱えるようにするShimの1つである「containerd-spinshim-v2」をバンドルし、WebAssemblyのためのフレームワークである「Spin」が備えているWebAssemblyランタイムを用いて実現しているようです。
またSpinフレームワークを用いることで、Rancher DesktopがバンドルしているKubernetesのディストリビューションであるk3sによるKubernetes上でWebAssemblyアプリケーションを実行できると説明されています。
前述の通り、すでにDocker Desktop、Podman DesktopはWebAssemblyをサポートしています。今回、Rancher DesktopもWebAssemblyサポートを開始したことで、コンテナ環境とWebAssembly環境の統合は明確なトレンドになっているように見えます。