KimchiとWokでKVMをウェブ管理:軽量・スムーズでVirt-managerの代替に最適

Virtualization tutorial - IT technology blog
Virtualization tutorial - IT technology blog

KVMの管理インターフェースをウェブ化すべき理由

プロのシステム管理者は、サーバーにGUIをインストールすることを極力避けます。virt-managerを実行するためだけにデスクトップ環境をインストールすると、少なくとも1GBのRAMを消費し、システムの攻撃面(attack surface)を増大させます。リモートからX11フォワーディング経由でvirt-managerを使用すると、遅延が非常に大きく、マウスの反応に1秒近くかかることもあります。

以前、12台のVMを管理するProxmoxのホームラボを運用していました。Proxmoxは非常に強力ですが、2GB RAM程度の小規模なVPSではリソースを使い果たしてしまいます。そこで、KimchiとWokのコンビが救世主となります。これはスムーズなHTML5インターフェースを提供し、クライアント側にソフトウェアをインストールすることなく、ブラウザ上で仮想マシンの作成やコンソールの確認が可能です。

最大のメリットはその軽量さにあります。KimchiはProxmoxに近い体験を提供しつつ、コマンドライン主体のLinuxサーバーとしての純粋な性質を維持できます。

WokとKimchiとは?

これら2つの名前を混同しないでください。これらは「ホスト・プラグイン」モデルで動作します。

  • Wok (Web Tool Kit): フレームワークの役割を果たします。ログイン、セキュリティ、ベースとなるインターフェースを管理します。Wok自体は仮想マシンのことを認識していません。
  • Kimchi: Wokに組み込まれるプラグインです。libvirtと通信して、基盤となるKVM仮想マシンを操作する役割を担います。

簡単に言えば、WokがOSで、Kimchiがその上で動くアプリケーションのようなものです。この組み合わせにより、わずか数分でサーバーをミニ仮想化管理センターに変えることができます。

システムの準備

最高の安定性を得るために、Ubuntu 20.04または22.04 LTSの使用を推奨します。まず、BIOSでCPUの仮想化支援機能が有効になっていることを確認してください。次のコマンドで素早く確認できます:

egrep -c '(vmx|svm)' /proc/cpuinfo

結果が1以上であれば準備完了です。ライブラリの競合を避けるために、システムを更新しておくことを忘れないでください:

sudo apt update && sudo apt upgrade -y

詳細なインストール手順

ステップ1:依存パッケージのインストール

Kimchiの動作には多くのPythonライブラリが必要です。個別にインストールする代わりに、一つのコマンドでまとめてインストールしましょう:

sudo apt install -y python3-pip python3-certifi python3-dev python3-lxml \
libvirt0 libvirt-daemon-system libvirt-clients virtinst qemu-kvm \
gettext software-properties-common nfs-common sosreport generic-logos \
python3-cherrypy3 python3-configobj python3-jsonschema python3-cryptography \
python3-paramiko python3-ldap python3-psutil python3-numpy python3-imaging

ステップ2:Wokのインストール

GitHubから直接.debファイルをダウンロードします。これが安定版を導入する最短の方法です。

wget https://github.com/kimchi-project/wok/releases/download/3.0.0/wok-3.0.0-0.noarch.debian.deb
sudo apt install ./wok-3.0.0-0.noarch.debian.deb

インストール後、システムの「心臓部」が稼働しているか確認します:

sudo systemctl status wokd

ステップ3:Kimchiのインストール

次に、Wokに「魂」を吹き込みます。Kimchiは自動的にパスを検出し、システムに統合されます。

wget https://github.com/kimchi-project/kimchi/releases/download/3.0.0/kimchi-3.0.0-0.noarch.debian.deb
sudo apt install ./kimchi-3.0.0-0.noarch.debian.deb
sudo systemctl restart wokd

アクセスと実際の使用方法

デフォルトでは、WokはHTTPSプロトコルのポート8001で動作します。以下にアクセスしてください:

https://あなたのIPアドレス:8001

自己署名証明書を使用しているため、ブラウザにSSLエラーが表示されます。詳細設定 -> 移動(Proceed)をクリックして進んでください。サーバーのrootアカウント、またはsudo権限を持つユーザーでログインします。

30秒で仮想マシンを作成

Kimchiのインターフェースは非常に直感的です。すぐにVMを起動するには、以下の手順で行います:

  1. Virtualization -> Templates セクションに移動します。
  2. Add Template をクリックします。ISOファイルのリンク(例:Ubuntu Serverのダウンロードリンク)を指定すれば、Kimchiが自動的にダウンロードします。
  3. テンプレートが作成されたら、Guests タブに移動し、+ アイコンを押して作成したテンプレートを選択します。

個人的に気に入っているのは、ストレージプールの管理機能です。長いvirsh pool-define-asコマンドを打つ代わりに、数回のクリックでディスクを分割したり、新しいパーティションをマウントしたりできます。

運用のための重要な注意点

しばらく使用してみて、トラブルを避けるための経験則をいくつかまとめました:

  • コンソールの問題: KimchiはnoVNCを使用しています。Safariを使用していて仮想マシンの画面が表示されない場合は、ChromeまたはFirefoxを試してみてください。
  • アクセス権限: 正しいパスワードを入力しても拒否される場合は、ユーザーがlibvirtグループに属しているか確認してください:sudo usermod -aG libvirt $USER
  • ファイアウォール: ポートの開放を忘れてブラウザがタイムアウトすることがよくあります。次のコマンドを実行してください:sudo ufw allow 8001/tcp

結局、Kimchiを使うべきか?

集中バックアップ、クラスター、ハイアベイラビリティ(高可用性)などの強力な機能が必要な場合は、Proxmoxを選んでください。しかし、単一のサーバーで数台の仮想マシンをラボとして軽量に運用したいのであれば、Kimchiは現時点で最高の選択肢です。

Kimchiは初心者にとってのコマンドラインの壁を完全に取り除いてくれます。同時に、肥大化したデスクトップ環境のパッケージでサーバーを汚すこともありません。ぜひインストールして、このコンビがもたらす利便性を体験してみてください。

Share: