0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VirtualBox上でMAASのKVMからLXDコンテナを作成・削除してみた

Posted at

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をインストールする作業手順は参考文献の下記項目を参照。
  1. How to do a fresh snap install of MAAS 3.0
  2. Initialise MAAS for a production configuration
  3. How to check the status of MAAS services
  4. How to configure MAAS
  5. Configuration
  6. 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以上推奨
ネットワーク 割り当て ホストオンリーアダプター
ネットワーク プロミスキャスモード すべて許可
  • システム:起動順序
    virtualbox-system.png

  • ネットワーク
    virtualbox-net.png

MAASのマシン状態遷移について

MAASはマシンを認識し、マシンの状態を把握してからOSを提供します。
そのため、New, Ready, Deployedの状態を遷移します。
なお、commissionではOS提供とは別にOSをマシンで動かしてマシン情報を取得します。


 マシン認識↓    ↑マシン開放
     [New]  ↑
 commission↓    ↑delete
      [Ready]
   deploy↓    ↑release
      [Deplyed] ⇒ マシンをネットワーク起動して使用可能に

LXDコンテナ用のマシンを起動

 まず、LXDコンテナを作成するマシンをMAASで起動します。

VirtualBoxのVMをMAASに登録

  • VirtualBoxのVMを起動してMAASに登録します。
    maas-01-new.png

New状態のマシンにホスト名と電源タイプを設定

  • ホスト名を設定
    maas-02-rename.png

  • 電源をManualに設定
    maas-03-power-1.png

マシンをcommissionしてReady状態に遷移

  • デフォルトでよければ、設定画面を開かずに直接commissionを実行
    maas-06-comission-3.png

  • カスタマイズする場合、右上のTake actionからcommissonを選択してcommission用の設定画面へ
    maas-06-comission-1.png

  • commission用に設定したネットワークをdeployに引き継ぐ場合は、Retain network configurationにチェック
    maas-06-comission-2.png

マシンをdeployしてDeployed(マシンのネットワーク起動)状態に遷移

  • LXDホストを使用するため、右上のTake actionから設定画面へ
    maas-07-deploy-2.png

  • Register as MAAS KVM hostをチェックしてdeploy
    なお、提供するカーネルもここで選択します。
    maas-07-deploy-3.png

  • (参考)KVMを使用しないなどデフォルト設定でよければ、設定画面を開かず直接deploy
    maas-07-deploy-1.png

deployしたマシンのIPアドレスを確認

IPアドレス設定の3つの選択肢(Auto assign, DHCP, Static assin) は期待した動作です。
なお、"PXE"ではなく"+2"はLXDコンテナ用のサブネットが追加されてネットワークが2つあるためです。

  • test-autoはMAASが自動設定したアドレス(DHCP提供アドレス範囲の外)
  • test-ldapはdhcpが設定したアドレス
  • test-manualはReadyで手動設定したアドレス
    maas-07-deploy-4.png

LXDコンテナを操作

LXDコンテナを作成

KVMメニューからLXDコンテナを登録して起動します。
電源のタイプがLXDでありMAASから電源をON/off可能な点以外は、(当然ですが)マシンと操作内容はほぼ変わりません。

  • Compose VMでLXDコンテナを構成
    maas-09-kvm-1.png

  • hostnameなどを設定してLXDコンテナをcommission
    VMでネステッドVT-x/AMD-Vを有効化し忘れると、Compose machineでエラーします。
    maas-09-kvm-4-compose.png

  • LXDコンテナのcommissionが完了してReadyに状態遷移
    maas-09-kvm-5-compose-3.png

  • LXDコンテナをdeployし、deployed(LXDコンテナのOSを起動)に状態遷移
    KVM(LXDコンテナ)などをネストせずデフォルト設定でよければ、直接deployしてもよいです。
    maas-09-kvm-7-deproy.png

  • KVM(LXDコンテナ)を使用する場合は右上のTask actionからdeployを選択して設定画面に遷移
    Register as MAAS KVM hostをチェックしてLXDコンテナをネストできます。
    maas-09-kvm-8-deproy-2.png

  • 起動したLXDコンテナを含むマシンの状態を確認
    LXDコンテナはdeployすると自動でPOWERがONになります。

  • マシン:
    パッと見てPOWERとOWNER TASK以外はLXDコンテナとマシンを区別できません。ホスト名をわかりやすくしたり、ソートできるようにZONE SPACESを設定した方がいいと思います。
    maas-09-kvm-8-deproy-3.png

  • KVM:
    ホストのマシン(test-manual)はLXDコンテナ(manual-lxd1)の分が割り当て済みです。
    maas-09-kvm-8-deproy-4.png

  • Subnet:
    使用しているIPアドレスを確認できます。
    maas-09-kvm-8-deproy-5.png

  • LXDコンテナのIPアドレスは手動で固定
    maas-09-kvm-8-deproy-6.png

LXDコンテナにログイン

LXDコンテナはVirualBoxのホストオンリーアダプターのサブネットに接続されており、LXDホストと同様にログインできます。

  • TeraTerm(VirtualBoxのwindows)からログイン
    teraterm_login.png
    teraterm_login-2.png

参考資料

VirtualBox の仮想マシンに Tera Term で SSH 接続する手順 (ポートフォワーディング)

  • SSHからログイン
    VirtualBox_us2004maas4_17_09_2021_07_42_08.png

LXDコンテナを構成するマシンを削除

KVMを使用するマシンをreleaseするためには、先にKVMホスト機能を解除する必要があります。

マシンからKVM機能を解除

settingsメニューからRemove KVMでKVMホスト機能を解除
maas-09-kvm-2.png
maas-09-kvm-3-remove.png

参考資料

0から始めるUbuntu18.04+MAAS2.4環境作成
おうちMAAS(Metal as a Service)導入メモ

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?