きっかけ
- Qiita で見かけたこちらの記事を早速試してみた
- LXC Web Panel は Python の Flask というウェブフレームワークと Flatstrapというウェブフロントフレームワークで作られている
参考
設定
環境
- Ubuntu 13.04
- LXC 0.9.0(LXC 0.8 or higher)
- ドキュメントによると
/var/lib/lxc
がLXC ROOT PATH
でなければならない
インストール
とっても簡単。
python-dev のインストール
sudo apt-get install python-dev
自動インストールスクリプトでインストール
wget http://lxc-webpanel.github.io/tools/install.sh -O - | bash
以下のような画面が表示される。
とりあえず使ってみる
ブラウザでアクセス
http://xxx.xxx.xxx.xxx:5000/
でアクセスすると以下のようなページが表示される。デフォルトでユーザー名 admin
とパスワード admin
でアクセス出来る。
トップページ(Overview)
すべてのコンテナが停止状態。
コンテナを起動させた状態
squeeze-test1
というコンテナを起動した状態。コンテナ名 Name
をクリックすると以下のように各コンテナの詳細が確認出来る。
むむ。IP アドレスが取得出来ていないような...。コマンドラインから確認すると...
lxc-ls --fancy
で確認すると IP アドレスは取得出来る。残念。とは言え、ちゃんとコンテナにはログイン出来る。
コンテナのクローンを作成してみる
コンテナの作成等も出来るが、とりあえずクローンを試してみる。
Overview から Clone CT をクリック
オリジナルと新しいコンテナの名前を指定する
オリジナルのコンテナ名をプルダウンで選択し新しいコンテナ名を設定して Clone
をクリックする。
クローンが作成された
ちゃんとクローンが作成された。下図、panel-test
がクローン。
コンソールからアクセスしてみた
念の為、lxc-ls
で確認して、コンソールにアクセスしてみた。
おお。嬉しい。
ざっと使ってみて
- 従来のコマンドラインの操作が GUI でワンタッチで操作出来るようになったのが嬉しい
- 検証した環境ではコンテナの IP アドレスが取得出来ない現象を確認した(ちょっと調査してみる)
気づいた点、調べた点
コンテナの設定パス
こちらで以下のように /var/lib/lxc/%s/config
と直書きになっている...
LXC ROOT PATH
が /var/lib/lxc
決め打ちな理由ですかな。
IP アドレスが取得出来ない
Web Panel で IP アドレスが表示されない理由も上記のソースコードにヒントがあった。
上記のように cgroup
の ipv4
から取得しているっぽい。IP アドレスが表示されないコンテナは /var/lib/lxc/%s/config
には IP アドレスは設定していない。となると、謎が深まるのが lxc-ls --fancy
で取得される IP アドレスはどこから取得してきているのか...。