検索
lxd_ui_web
記事の項目

最近の投稿

Ubuntu LXD UI を使用してみた

LXDをWEBブラウザからインスタンスの作成管理ができる UI が使用できるようにした

この記事の項目

実験環境

  • ディスクトップ Mac OS からターミナルから ssh 接続 WEBブラウザはSafari
  • サーバー mini PC に ubuntu 22.04 server をインストール IP 192.168.0.20

LXD のインストール

ubuntu22.04 serverは標準で LXD (version 5.02)はインストールされていました。

				
					$ sudo snap install lxd

lxd 5.17-e5ead86 from Canonical✓ installed

$ lxd --version
5.17

				
			

LXD UI 準標準

LXD の初期設定の項目で LXD UI を使用するには、

Would you like the LXD server to be available over the network? (yes/no) [default=no]: yes

にすると以下の項目が出てきます。

Address to bind LXD to (not including port) [default=all]:
Port to bind LXD to [default=8443]:

ここはデフォルトで良いと思います。
サーバーの IP アドレスとポート(port)をWEBブラウザで開けば良い。

				
					$ sudo lxd init

Would you like to use LXD clustering? (yes/no) [default=no]: 
Do you want to configure a new storage pool? (yes/no) [default=yes]: 
Name of the new storage pool [default=default]: 
Name of the storage backend to use (zfs, btrfs, ceph, dir, lvm) [default=zfs]: 
Create a new ZFS pool? (yes/no) [default=yes]: 
Would you like to use an existing empty block device (e.g. a disk or partition)? (yes/no) [default=no]: 
Size in GiB of the new loop device (1GiB minimum) [default=19GiB]: 
Would you like to connect to a MAAS server? (yes/no) [default=no]: 
Would you like to create a new local network bridge? (yes/no) [default=yes]: 
What should the new bridge be called? [default=lxdbr0]: 
What IPv4 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: 
What IPv6 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: 
Would you like the LXD server to be available over the network? (yes/no) [default=no]: yes
Address to bind LXD to (not including port) [default=all]: 
Port to bind LXD to [default=8443]: 
Would you like stale cached images to be updated automatically? (yes/no) [default=yes]: 
Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]: yes
				
			

$sudo lxd init の最後の質問

Would you like a YAML “lxd init” preseed to be printed? (yes/no) [default=no]: yes

にすると、下のように Config ファイルが表示されるので、設定の確認をします。

				
					config:
  core.https_address: '[::]:8443'
networks:
- config:
    ipv4.address: auto
    ipv6.address: auto
  description: ""
  name: lxdbr0
  type: ""
  project: default
storage_pools:
- config:
    size: 19GiB
  description: ""
  name: default
  driver: zfs
profiles:
- config: {}
  description: ""
  devices:
    eth0:
      name: eth0
      network: lxdbr0
      type: nic
    root:
      path: /
      pool: default
      type: disk
  name: default
projects: []
cluster: null
				
			

スナップでUIを有効にします。

LXD Web UIは、LXDサーバーとインスタンスを管理するためのグラフィカルインターフェイスを提供します。現在、初期段階にあり、まだ完全な機能を提供していませんが、最終的にはLXDコマンドラインクライアントに代わるものになります。

LXD Web UIにアクセスするには、次の手順を実行します。

				
					$ sudo snap set lxd ui.enable=true

$ sudo systemctl reload snap.lxd.daemon
				
			

WEBブラウザの設定

https://ホストのIPアドレス:8443

ex) https://192.168.0.20:8443(ここはhttpではなくhttpsでアクセスすること)
WEBブラウザにページの表示できないとかメッセージがでるが、無視して表示させる。

証明書 Create a new certificate

LXD-UIを使うためには2種類の証明書を作成しなくてはなりません。

  • LXD-UIがLXD本体を操作するために必要な証明書(PEM:Privacy Encanced Mail形式のcrtファイル)
  • LXD-UIのWeb UIにログインするための証明書(PFX:Personal Information Exchangeファイル)

ローカルPC(ここではMacOS)のWEBブラウザからアクセスすると

Canonical LXD Login 画面が表示される。

canonical lxd ui

Setup LXD UI

上)Create a new certificate をクリックすると Setup LXC UI が表示される。

下)

  1. [Generate] をクリックすると、2つの証明書(ログイン用PFX・本体用PEM )が発行されますが、

  2. Trust
    lxd-ui.crt のファイルをサーバーに読み込んで
    lxc config trust add (lxd-ui.crt ファイル)
    を実行してください。
  3. Import
    lxd-ui.pfxファイル(証明書)を生成するのですが、OSやブラウザによって異なるので、ここで選択してください。
lxd_ui_setup

Setup LXD UI 番号順に設定を行うだけで良い。

  1. Generate ボタンをクリック
  2. Trust  lxd-ui.crt ファイルを生成してブラウザでダウンロードする。
    lxd-ui.crt ファイル(証明書)をFTPやSCP※でサーバーに転送・コピーして

    $ lxc config trust add lxd-ui.crt

  3. Mac アプリのキーチェンアクセスを起動してダウンロードした lxd-ui.pfx をドラッグ&ドロップする。
    認証局を登録するときにパスワードを設定する。後から数回入力するので、このパスワードは忘れないように。

※MacOSからubuntu serverにファイルを転送する方法は、今回、 scp コマンドを使用した。

MacOSのターミナルから
% sudo scp /Users/Usrname/Downloads/lxd-ui.crt [サーバーのuser名]@[サーバーのアドレス]:[サーバーのディレクトリ]
ex)
% sudo scp /Users/Usrname/Downloads/lxd-ui.crt pop@192.168.0.20:/home/pop/

				
					MacOS Terminal

% sudo scp /Users/Username/Downloads/lxd-ui.crt pop@192.168.0.20:/home/pop/

pop@192.168.0.20's password: 
lxd-ui.crt                                    100% 1166   877.3KB/s   00:00  
				
			

サーバーのユーザーディレクトリ(自分の場合 ‘pop’)にコピー(転送)した。

ユーザーディレクトに lxd-ui.crt が存在しているか確認して、

$ lxc config trust add lxd-ui.crt

				
					$ pwd
/home/pop

$ ls -l
-rw-r--r-- 1 pop pop     1166 Sep 17 07:27 lxd-ui.crt

$ lxc config trust add lxd-ui.crt
				
			

Add existing certificate

Token発行

サーバーにssh接続したターミナルに

lxc config trust add –name lxd-ui

で、作られたtoken、この場合[ey…..J19]をコピーしてブラウザの Pasete your token here に貼り付けて、[Import] ボタンをクリック

				
					$ lxc config trust add --name lxd-ui
Client lxd-ui certificate add token:
eyJjbGllbnRfbmFtZSI6Imx4ZC11aSIsImZpbmdlcnByaW50IjoiZmUxMDRmM2FkMmU1NmM1MTlkNTljMjY3NTA1ZTIzNDUwNDY0MGY1NDY1YjU3ODRkNjBkNDRjOWQyY2ViZjg4MCIsImFkZHJlc3NlcyI6WyIxOTIuMTY4LjAuMjA6ODQ0MyIsIjE5Mi4xNjguMC4xNzc6ODQ0MyIsIlsyNDA1OjY1ODc6ZjQyMDoyNTAwOjFlODM6NDFmZjpmZTMyOjNlZmRdOjg0NDMiLCIxOTIuMTY4LjEwLjE6ODQ0MyIsIltmZDQyOmI1MGM6ZGZhOjJkMTI6OjFdOjg0NDMiXSwic2VjcmV0IjoiZGM4NmI2MjUyYmMzYzVmNDI3NWQ4MzhiZWUyYmVhMmZkNzU5OTMzMTQ1MTJlYzM4ODExNGZjODgzYTM2ZDE4ZiIsImV4cGlyZXNfYXQiOiIwMDAxLTAxLTAxVDAwOjAwOjAwWiJ9
				
			

WEBブラウザの停止起動

MacOSのWEBブラウザ Safariを修了する。

一応、lxd もリロードしておく。

				
					$ sudo snap restart --reload lxd
				
			

MacOSのWEBブラウザ Safariを再び起動する。

lxd_ui_instances

UI から LXD の操作ができる段階になりました。

注意

WEBブラウザによって、うまくいかない可能性が残るので、MacOSの場合は Safari が良さそうでした。未確認!

参考にしたページ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Redis

$ sudo apt update $ sudo