#author("2020-01-05T20:17:36+09:00","default:nowsky","nowsky") #author("2020-01-05T20:17:44+09:00","default:nowsky","nowsky") *kimchi [#t0147ec8] -[[kimchi-project>+https://github.com/kimchi-project]] -[[がらくたネット キムチ>+https://e-garakuta.net/techinfo/doku.php/linux/kimchi]] webブラウザ経由でKVM環境を操作するフロントエンドツール。 kimchiはIBMが開発に着手し、エンタープライズの利用実績を歴てからOSS化された。 OpenStack/oVirt程の機能は無いが、RPMインストールで簡単に構築できる上、 ゲストOS作成・KVMコンソール操作・ストレージ管理が一括で出来る為、 クラスタを組まないKVM環境の管理ツールには十分な機能を備えている。 ~ *インストール [#pdc52b9e] &size(16){&font(b){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 ~ &size(16){&font(b){2. 設定変更};}; kimchiはwebコンソールのユーザ管理にLDAPを用いる事が出来るが、 参照先となるLDAP環境と検索フィルター設定も必要なので、Linuxユーザを用いたPAM認証を実装する。 PAM認証経由でlibvirtを操作する都合上、&font(b){ログインユーザに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" ~ &size(16){&font(b){3. テンプレート};}; kimchiはインストールするディストリビューションイメージを指定したJSON形式のテンプレートと、 作成対象のゲストOSスペックを定義したテンプレートの2種類が存在する。 ディストリビューションの方はサンプルだけでも動くが、標準外のOSを用いる場合には自力で修正する。 作成するゲストOSを定義するテンプレートは、下記とlibvirtの設定を参考に修正を行う VPSで良くある&color(#ff0000){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