回答:
このドキュメントでは、Metal As A Service(MAAS)ソフトウェアのインストール方法について説明します。
Metal as a Service – MAAS –物理サーバーをクラウド内の仮想マシンのように扱うことができます。各サーバーを個別に管理する必要はなく、MAASはベアメタルを弾性のあるクラウドのようなリソースに変えます。
それは実際にはどういう意味ですか?管理したいマシンについてMAASに通知すると、マシンが起動し、ハードウェアの状態をチェックして、必要なときにマシンを待機させます。その後、ノードをプルアップし、ティアダウンして、自由に再デプロイできます。クラウドの仮想マシンと同じように。
サービスをデプロイする準備ができると、MAASはJujuにそのサービスを実行するために必要なノードを提供します。それはそれと同じくらい簡単です。手動でプロビジョニング、チェック、その後クリーンアップを行う必要はありません。ニーズの変化に応じて、サービスを簡単に拡大または縮小できます。数時間、Hadoopクラスターにさらに電力が必要ですか?Novaコンピューティングノードの1つを破棄して、Hadoopに再デプロイするだけです。完了したら、ノードをNovaに戻すのも同じくらい簡単です。
Ubuntu Cloud Archiveは、MAAS、Jujuおよびその他のツールの最新の安定したバージョンをユーザーに提供するために特に作成されたリポジトリです。ソフトウェアを最新の状態に保つことを強くお勧めします。
sudo apt-get update
MAASインストールを構成するパッケージがいくつかあります。これらは:
DHCPセットアップは、ノードの正しいPXEブートに不可欠です。
便宜上、maas
これらすべてのコンポーネントをインストールするメタパッケージもあります。
これらのサービスを分離する必要がある場合、または追加のクラスターコントローラーを展開する場合は、対応するパッケージを個別にインストールする必要があります。
コマンドを実行する:
sudo apt-get install maas
... MAASのすべてのコンポーネントのインストールを開始します。maas-dhcpおよびmaas-dnsパッケージはデフォルトでインストールされます。
インストールが完了すると、MAASのWebベースのインターフェースが起動します。多くの場合、MAASコントローラーには複数のNICがあります。デフォルトでは、すべてのサービスが最初に検出されたコントローラー(つまり、通常はeth0)の使用を開始します
初めてサーバーにログインする前に、スーパーユーザーアカウントを作成する必要があります。
MAASをインストールしたら、管理者アカウントを作成する必要があります。
sudo maas-region-admin createsuperuser
このコマンドを実行すると、管理ユーザーのユーザー名、メールアドレス、パスワードの入力を求められます。管理者アカウントに別のユーザー名を使用することもできますが、「root」は一般的な規則であり、覚えやすいです。
作成したい追加の管理者アカウントに対してこのコマンドを再度実行できますが、少なくとも1つ必要です。
MAASは新しいUbuntuイメージをチェックし、週に1回ダウンロードします。ただし、初めて手動でダウンロードする必要があります。これを行うには、Webブラウザーを使用してMAAS Webインターフェースに接続する必要があります。次のURLを使用します。
http://172.18.100.1/MAAS/
MAASソフトウェアをインストールしたサーバーのIPアドレスに置き換える必要があります。複数のネットワークが存在する可能性がある場合、デフォルトでは、eth0デバイスに割り当てられているネットワークのいずれかになります。
次のようなログイン画面が表示されます。
管理者アカウントに指定したユーザー名とパスワードを入力します。ログインに成功すると、MAASのメインページが表示されます。
上部の警告に表示されているリンクをクリックするか、メニューの[クラスター]タブをクリックして、クラスター構成画面に移動します。初期クラスターは、インストール時に自動的にMAASに追加されますが、ノードを起動するための関連イメージはまだありません。ボタンをクリックして、適切なブートイメージのダウンロードを開始します。
使用可能なネットワーク接続によっては、ブートイメージのインポートに時間がかかる場合があります。このページは動的に更新されないため、手動で更新して、ブートイメージがいつインポートされたかを確認できます。
すべてが正常に動作していることを確認するには、今すぐサーバーにログインしてみてください。両方のエラーメッセージが消えているはずです(ブートイメージファイルが登録されるまで数分かかる場合があります)。現在、このコントローラーに接続されているノードが0であることがわかります。
一部のスイッチは、スパニングツリープロトコル(STP)を使用して、ルートブリッジを経由するループのないパスをネゴシエートします。スキャン中、各ポートでデータの送信が許可されるまで、最大50秒待機する可能性があります。この遅延により、MAASが広範囲に使用するPXE、DHCP、DNSなどの一部のアプリケーション/プロトコルで問題が発生する可能性があります。
この問題を緩和 するには、他のベンダーの機器でCiscoスイッチまたは同等の機能に対してPortfastを有効にする必要 があります。これにより、ポートをほぼすぐに起動できます。
すべてのノードに対して1つのクラスターコントローラーでMAASを実行することは確かに可能ですが、メンテナンス、アップグレード、および安定性を高めるために、少なくとも2つの稼働中のクラスターがあることが望ましいです。
各クラスターにはコントローラーノードが必要です。このノードにUbuntuをインストールし、同様のセットアップ手順に従ってクラスターコントローラーソフトウェアをインストールします。
sudo apt-get update
sudo apt-get install maas-cluster-controller
sudo apt-get install maas-dhcp maas-dns
クラスターソフトウェアをインストールしたら、次のコマンドを実行すると便利です。
sudo dpkg-reconfigure maas-cluster-controller
これにより、クラスターコントローラーエージェントがMAASマスターコントローラーの正しいアドレスを指すようにすることができます。
最初のクラスターコントローラーをリージョンコントローラーと同じシステムにインストールすると、デフォルトで自動的に受け入れられます(ただし、まだ構成されていません。以下を参照してください)。設定した他のクラスターコントローラーは、MAASに手動で受け入れるまで、ユーザーインターフェイスに「保留中」と表示されます。
クラスターコントローラーを受け入れるには、MAAS Webインターフェイスの上部にある[クラスター]タブをクリックします。
ページ上部のテキストが保留中のクラスターを示していることがわかります。そのテキストをクリックして、クラスター承認画面を表示します。
ここでは、UIに表示されるクラスターの名前、DNSゾーン、およびステータスを変更できます。クラスタを受け入れると、ステータスが「保留中」から「受け入れ済み」に変わります。
クラスターコントローラーが受け入れられたので、MAASによって管理されるように1つ以上のネットワークインターフェイスを構成できます。これにより、クラスターコントローラーはこれらのネットワークに接続されたノードを管理できるようになります。次のセクションでは、これを行う方法と、どの選択を行うかについて説明します。
MAASは、各クラスターコントローラー上のネットワークインターフェイスを自動的に認識します。これらの一部は、ノードを管理するネットワークに接続されます。MAASユーザーインターフェイスでこれらのインターフェイスを構成することにより、クラスターコントローラーをこれらのネットワークのDHCPサーバーとして機能させることをお勧めします。
例として、インターフェイスeth0でネットワークを管理するようにクラスターコントローラーを構成します。eth0の編集アイコンをクリックすると、このページに移動します。
ここでは、クラスターコントローラーでネットワークを管理する範囲を選択できます。
MAASは独自のDHCPサーバーのリースファイルに依存してクラスター内のノードのIPアドレスを計算するため、DHCP管理なしでDNS管理を行うことはできません。インターフェースを管理対象に設定する場合は、以下の入力フィールドに通常のDHCPの詳細をすべて入力する必要があります。完了したら、[インターフェースを保存]をクリックします。これで、クラスターコントローラーはこのネットワーク上のノードを起動できるようになります。
ネットワークを管理されないままにするオプションもあります。ノードを管理したくないネットワークに使用します。または、ノードを管理したいが、ネットワーク上の既存のDHCPサービスを使用したい場合。
単一のクラスターコントローラーは、クラスターコントローラーサーバー上の異なるネットワークインターフェイスからそれぞれ複数のネットワークを管理できます。これは、クラスターをより多くのノードにスケーリングするのに役立つ場合があります。または、ネットワークアーキテクチャの要件である場合があります。
これでMAASコントローラーが実行されたので、ノードにMAASを認識させる必要があります。逆もまた同様です。MAASがDHCPとPXEブートが可能なノードを制御しているため、これは簡単です
ノードをPXEイメージから起動するように設定すると、ノードが起動し、DHCPサーバーを探し、PXE起動の詳細を受け取り、イメージを起動し、MAASサーバーに連絡してシャットダウンします。
このプロセス中に、MAASサーバーには、ノードのデータベースに格納されるアーキテクチャ、MACアドレス、およびその他の詳細を含む、ノードに関する情報が渡されます。Webインターフェースを介してノードを受け入れ、許可することができます。ノードが受け入れられると、選択した一連のUbuntuがインストールされます。
コマンドラインからすべてのノードを受け入れてコミッションすることもできます。これには、まずAPIキーでログインしてから、次のコマンドを実行する必要があります。
maas-cli maas-profile nodes accept-all
コミッションが完了すると、ノードのステータスは「準備完了」に更新されます。ノード名をクリックし、「Commissioning output」という見出しの下のリンクをクリックすると、コミッショニングスクリプトの結果を確認できます。画面にファイルのリストとその結果が表示されます。ファイルのステータスをクリックすると、出力をさらに調べることができます。
ノードがPXEイメージから起動できない場合は、MAASに手動で登録できます。メインのWebインターフェイス画面で、[ノードの追加]ボタンをクリックします。
これにより、MACアドレスを含むノードの詳細を手動で入力できる新しいページがロードされます。これは、DHCPサーバーに接続するときにノードを識別するために使用されます。
MAASは、いくつかのタイプの電源管理をサポートしています。電源管理を設定するには、個々のノードエントリをクリックしてから、[編集]ボタンをクリックします。電源管理の種類はドロップダウンリストから選択し、適切な電源管理の詳細を追加する必要があります。
多数のノードがある場合は、MAAS CLIを使用してこのプロセスをスクリプト化できるはずです。
電源管理がないと、MAASは必要なときにノードの電源を入れることができません。