lxduiを使用してLXDをブラウザで管理する(Ubuntu18.04)

インフラサーバ

lxduiとは

lxduiとはLXDのコンテナをブラウザで管理するためのツールです。
以下のような操作がブラウザ上でできます。

  • コンテナの管理(リスト表示、作成、削除、起動、停止など)
  • イメージの管理(リスト表示、リモートからのダウンロードなど)
  • プロファイルの管理
  • ネットワークの管理
  • コンテナのCLIの表示

lxduiのインストール手順

環境

  • Ubuntu 18.04.3 LTS (Bionic Beaver)
  • LXD 3.0.3
  • LXDUI v2.2

LXDのインストール

LXDがインストールされていない場合は先にインストールしてください。
手順は以下の記事に記載しています。

Python関連のツールのインストール

Pythonのpipとvenvというツールを使用しますので、未インストールの場合はそれぞれ以下のコマンドでインストールしてください。

$ sudo apt install python3-pip
$ sudo apt install python3-venv

ソースファイルの取得

lxduiのソースファイルはgithubで公開されているため、gitを使ってソースファイルをダウンロードします。ダウンロード先を /home/user02/lxdui にすることとした場合は、以下のコマンドを実行します。

$ git clone https://github.com/AdaptiveScale/lxdui.git /home/user02/lxdui -b develop

ダウンロード後のlxduiディレクトリの中身は以下のようになっています。

$ ls -l
total 56
-rw-rw-r-- 1 user02 user02   376 Jan  1 05:23 Dockerfile
-rw-rw-r-- 1 user02 user02 11554 Jan  1 05:23 LICENSE.txt
-rw-rw-r-- 1 user02 user02   161 Jan  1 05:23 MANIFEST.in
-rw-rw-r-- 1 user02 user02  3816 Jan  1 05:23 README.md
drwxrwxr-x 6 user02 user02  4096 Jan  1 05:23 app
drwxrwxr-x 2 user02 user02  4096 Jan  1 05:23 bin
drwxrwxr-x 2 user02 user02  4096 Jan  1 05:23 conf
drwxrwxr-x 2 user02 user02  4096 Jan  1 05:23 logs
-rw-rw-r-- 1 user02 user02   256 Jan  1 05:23 requirements.txt
-rw-rw-r-- 1 user02 user02    93 Jan  1 05:23 run.py
-rw-rw-r-- 1 user02 user02  1556 Jan  1 05:23 setup.py
drwxrwxr-x 2 user02 user02  4096 Jan  1 05:23 tests

インストール環境の作成とインストール

lxduiのインストール先はPythonの仮想環境にします。
まず以下コマンドで仮想環境用のフォルダ /home/user02/lxdui_env を作成した上で、仮想環境を構築します。

$ mkdir /home/user02/lxdui_env
$ python3 -m venv /home/user02/lxdui_env

/home/user02/lxdui_env の中身が以下のようになります。

$ ls -l
total 20
drwxrwxr-x 2 user02 user02 4096 Jan  1 06:34 bin
drwxrwxr-x 2 user02 user02 4096 Jan  1 06:34 include
drwxrwxr-x 3 user02 user02 4096 Jan  1 06:34 lib
lrwxrwxrwx 1 user02 user02    3 Jan  1 06:34 lib64 -> lib
-rw-rw-r-- 1 user02 user02   69 Jan  1 06:34 pyvenv.cfg
drwxrwxr-x 3 user02 user02 4096 Jan  1 06:34 share

続いて、以下コマンドを実行し仮想環境を活性化します (仮想環境を使用できる状態にする)。

$ source /home/user02/lxdui_env/bin/activate

これでlxduiをインストールする準備ができました。
以下のコマンドを実行してlxduiをインストールします。
※引数にgithubからダウンロードしたファイルが保存されているディレクトリを指定します

$ pip3 install /home/user02/lxdui

インストールが完了したら lxdui コマンドを実行してみます。
以下のようにヘルプが表示されれば問題なくインストールできているはずです。

$ lxdui
Usage: lxdui [OPTIONS] COMMAND [ARGS]...

  LXDUI CLI

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  cert     Work with certificates
  config   List and modify configuration parameters
  image    Work with image registry
  init     Initialize and configure LXDUI
  restart  Restart LXDUI
  start    Start LXDUI
  status   Check the status of LXDUI
  stop     Stop LXDUI
  user     Work with user accounts

lxduiの初期設定~起動

lxdui init コマンドでlxduiのadminユーザのパスワードを設定できます。

$ lxdui init
Password:
Repeat for confirmation:
Initialize and configure LXDUI
LXDUI is now configured.  You can now use the admin account to log in to the app.

筆者の環境では、lxdui init でadminユーザのパスワードを設定してもadminユーザのパスワード変更が反映されませんでした。
adminユーザのデフォルトのパスワードは「admin」のようなので、設定したパスワードでログインできない場合はパスワード「admin」で試してみてください。

パスワードの設定ができたら lxdui を以下のコマンドで起動させます。

$ lxdui start &
[1] 11953
(lxdui_env) user02@lxdtest:~$ LXDUI ver. 2.2 -- (c)AdaptiveScale, Inc.
AdaptiveScale – AdaptiveScale
LXDUI started. Running on http://0.0.0.0:15151 PID=11953, Press CTRL+C to quit

起動ができました。ブラウザで、http://0.0.0.0:15151 にアクセスすると以下のログイン画面が表示されます。「0.0.0.0」の部分はlxduiを起動させているマシンのIPアドレスでもOKです。

lxdui を停止させる場合は以下コマンドを実行します。

$ lxdui stop
Stopping LXDUI
Process terminated.
[1]+  Terminated              lxdui start

一通りの操作が終わったら、以下コマンドで仮想環境を不活性化してください。

$ deactivate

―――――――――――――

タイトルとURLをコピーしました