VirtualBoxでMAASのKVMからLXDコンテナを作成・削除してみた
MAAS 3.0のKVMでLXDコンテナがサポートされましたので、VirtualBoxを使ってLXDコンテナの作成・削除を確認しました。
試行環境
- MAAS 3.0.0
- VirtualBox 6.1.26
- Ubuntu 20.04.2 LTS Server (MAASをインストール)
要点
確認したこと
- MAASダッシュボード上からLXDコンテナの作成、起動、停止、削除できます。(VirtualBoxの操作が必要なのはVMを作って最初の電源を入れるまで)
- LXDコンテナはブリッジでマシンと同じサブネットに接続されます。(VMがすべて同じサブネットに接続するため、LXDのブリッジでLXDコンテナもすべて同じサブネットに接続)
- 手動でLXDコンテナのIPアドレスを固定できます。(LXDコンテナをサーバとして設定しやすい)
- ダッシュボードでTagsやKVMをキーにフィルタでリストを絞り込んで、LXDコンテナのみ表示可能です。また、ZONE SPACESに任意の値も設定できるため、ある程度の規模のコンテナは管理できると思います。
MAASを使用してみて
- MAASはclout-initも利用できるが、ダッシュボード上で手作業でマシンを管理する。多くのマシンやコンテナを一括管理する必要があるならjujuなど他ツールも検討すべき。
- BIOSで起動デバイスに設定しているストレージはMAASが使用するため、(実機の場合)必要に応じてバックアップしておくこと。
MAASサーバのインストール(本記事では省略)
- VirtualBoxのVMにubuntu 20.04 Serverをインストールして、MAASサービスを立ち上げます。
なお、MAASをインストールする作業手順は参考文献の下記項目を参照。
- How to do a fresh snap install of MAAS 3.0
- Initialise MAAS for a production configuration
- How to check the status of MAAS services
- How to configure MAAS
- Configuration
- How to enable DHCP
参考資料
How to install MAAS (snap/3.0/UI)
- VirtualBoxでVMへポートフォワーディングを設定して、MAASのダッシュボードにwindowsのブラウザからアクセスします。
参考資料
VirtualBoxでGuestOSのアプリケーションに外部からアクセスする方法
MAASで管理するVMについて
VirtualBoxでMAASが管理するVMを用意
VMの設定項目は下記参考文献を参照
参考文献
VirtualBox extensions for MAAS
表:LXDコンテナに関連する設定値
項目 | パラメータ | 値 |
---|---|---|
システム | プロセッサ数 | + LXD数*1CPU以上推奨 |
システム | 拡張機能 | ネステッドVT-x/AMD-Vを有効化 |
システム | 起動順序 | ①ネットワーク, ②ハードディスク |
システム | メモリ | + LXD数*2GB以上推奨 |
ストレージ | 容量 | + LXD数*8GB以上推奨 |
ネットワーク | 割り当て | ホストオンリーアダプター |
ネットワーク | プロミスキャスモード | すべて許可 |
MAASのマシン状態遷移について
MAASはマシンを認識し、マシンの状態を把握してからOSを提供します。
そのため、New, Ready, Deployedの状態を遷移します。
なお、commissionではOS提供とは別にOSをマシンで動かしてマシン情報を取得します。
マシン認識↓ ↑マシン開放
[New] ↑
commission↓ ↑delete
[Ready]
deploy↓ ↑release
[Deplyed] ⇒ マシンをネットワーク起動して使用可能に
LXDコンテナ用のマシンを起動
まず、LXDコンテナを作成するマシンをMAASで起動します。
VirtualBoxのVMをMAASに登録
New状態のマシンにホスト名と電源タイプを設定
マシンをcommissionしてReady状態に遷移
マシンをdeployしてDeployed(マシンのネットワーク起動)状態に遷移
deployしたマシンのIPアドレスを確認
IPアドレス設定の3つの選択肢(Auto assign, DHCP, Static assin) は期待した動作です。
なお、"PXE"ではなく"+2"はLXDコンテナ用のサブネットが追加されてネットワークが2つあるためです。
LXDコンテナを操作
LXDコンテナを作成
KVMメニューからLXDコンテナを登録して起動します。
電源のタイプがLXDでありMAASから電源をON/off可能な点以外は、(当然ですが)マシンと操作内容はほぼ変わりません。
-
hostnameなどを設定してLXDコンテナをcommission
VMでネステッドVT-x/AMD-Vを有効化し忘れると、Compose machineでエラーします。
-
LXDコンテナをdeployし、deployed(LXDコンテナのOSを起動)に状態遷移
KVM(LXDコンテナ)などをネストせずデフォルト設定でよければ、直接deployしてもよいです。
-
KVM(LXDコンテナ)を使用する場合は右上のTask actionからdeployを選択して設定画面に遷移
Register as MAAS KVM hostをチェックしてLXDコンテナをネストできます。
-
起動したLXDコンテナを含むマシンの状態を確認
LXDコンテナはdeployすると自動でPOWERがONになります。
LXDコンテナにログイン
LXDコンテナはVirualBoxのホストオンリーアダプターのサブネットに接続されており、LXDホストと同様にログインできます。
参考資料
VirtualBox の仮想マシンに Tera Term で SSH 接続する手順 (ポートフォワーディング)
LXDコンテナを構成するマシンを削除
KVMを使用するマシンをreleaseするためには、先にKVMホスト機能を解除する必要があります。
マシンからKVM機能を解除
settingsメニューからRemove KVMでKVMホスト機能を解除
参考資料
0から始めるUbuntu18.04+MAAS2.4環境作成
おうちMAAS(Metal as a Service)導入メモ