kimchi

webブラウザ経由でKVM環境を操作するフロントエンドツール。
kimchiはIBMが開発に着手し、エンタープライズの利用実績を歴てからOSS化された。
OpenStack/oVirt程の機能は無いが、RPMインストールで簡単に構築できる上、
ゲストOS作成・KVMコンソール操作・ストレージ管理が一括で出来る為、
クラスタを組まないKVM環境の管理ツールには十分な機能を備えている。

インストール

1. インストール
ソースコードからビルドする方法もあるが、
KVM管理ツールとしてkernelに近い箇所を操作する事から、RPMインストールが推奨されている。
また、kimchiでスナップショットなど最近の機能を使う都合上、
CentOS7の標準libvirt/Qemuライブラリでは動作しない為、
仮想基盤リポジトリを追加して高機能版のQemuをインストールする。
 
QEMU v2.12リポジトリ追加

# yum install centos-release-qemu-ev
# yum install qemu-kvm-ev libvirt

 

kimchiインストール

# wget "https://github.com/kimchi-project/kimchi/releases/download/2.5.0/kimchi-2.5.0-0.el7.centos.noarch.rpm"
# wget "https://github.com/kimchi-project/kimchi/releases/download/2.5.0/wok-2.5.0-0.el7.centos.noarch.rpm"
# yum install kimchi-2.5.0-0.el7.centos.noarch.rpm wok-2.5.0-0.el7.centos.noarch.rpm



2. 設定変更
kimchiはwebコンソールのユーザ管理にLDAPを用いる事が出来るが、
参照先となるLDAP環境と検索フィルター設定も必要なので、Linuxユーザを用いたPAM認証を実装する。
PAM認証経由でlibvirtを操作する都合上、ログインユーザにsudo権限が必要なので注意。
kimchiの設定ファイルにはロギングなど他の設定項目も含まれている為、必要に応じて変更する。

# vi /etc/wok/wok.conf
---
[authentication]
method = pam
# ldap_server = "localhost"
# ldap_search_base = "ou=People, dc=wok, dc=org"
# ldap_search_filter = "uid=%(username)s"
# ldap_admin_id = "foo@foo.com, bar@bar.com"



3. テンプレート
kimchiはインストールするディストリビューションイメージを指定したJSON形式のテンプレートと、
作成対象のゲストOSスペックを定義したテンプレートの2種類が存在する。
ディストリビューションの方はサンプルだけでも動くが、標準外のOSを用いる場合には自力で修正する。
作成するゲストOSを定義するテンプレートは、下記とlibvirtの設定を参考に修正を行う
VPSで良くあるCPU2コア・MEM1GB・HDD50GB・NIC1本は次の通りとなる。

# vi /etc/kimchi/template.conf
---
[main]
networks = default,

[memory]
current = 1024
maxmemory = 1024

[storage]
[[disk.0]]
size = 50
format = qcow2
pool = default

[graphics]
type = vnc
listen = 127.0.0.1

[processor]
vcpus = 2
maxvcpus = 2