4.5. デプロイインターフェースの設定
ベアメタルノードをプロビジョニングする場合には、オーバークラウド上の Ironic サービスは、ベアメタルノード上のディスクにベースオペレーティングシステムのイメージを書き込みます。デフォルトでは、デプロイインターフェースは iSCSI マウントにイメージをマウントし、そのイメージを各ノードのディスクにコピーします。あるいは、直接デプロイ を使用して、ディスクイメージを HTTP の保管場所から直接ベアメタルノード上のディスクに書き込むこともできます。
4.5.1. デプロイプロセスの概要
プロビジョニングプロセスでは、デプロイインターフェースが重要な役割を果たします。デプロイインターフェースはデプロイメントをオーケストレーションし、イメージをターゲットディスクに転送するメカニズムを定義します。
前提条件
-
ironic-conductor
を実行する Bare Metal サービスノードに設定された依存関係パッケージ。 - OpenStack Compute (nova) が Bare Metal サービスのエンドポイントを使用するように設定されていること。
- 利用可能なハードウェア用にフレーバーが作成され、nova が正しいフレーバーから新規ノードを起動すること。
Glance で以下のイメージが利用可能であること。
- bm-deploy-kernel
- bm-deploy-ramdisk
- user-image
- user-image-vmlinuz
- user-image-initrd
- Ironic API サービスに登録するためのハードウェア
ワークフロー
以下に示すワークフローの例を使用して、標準的なデプロイプロセスについて説明します。使用する ironic ドライバーインターフェースによって、一部の手順が異なる場合があります。
- Nova スケジューラーが Nova API からインスタンスのブート要求を受け取る。
- Nova スケジューラーが該当するハイパーバイザーを識別し、ターゲットの物理ノードを識別する。
- Nova Compute マネージャーが選択したハイパーバイザーのリソースを要求する。
- Nova のブート要求が指定するネットワークインターフェースに基づき、Nova Compute マネージャーがバインド前のテナント仮想インターフェース (VIF) を Networking サービスに作成する。
Nova Compute が Nova Compute の仮想レイヤーから
driver.spawn
を呼び出し、必要なすべての情報が含まれる子タスクを作成する。子タスク作成プロセス中に、仮想ドライバーは以下の処理を完了します。- デプロイイメージ、インスタンスの UUID、要求された機能、およびフレーバーの特性に関する情報で、ターゲットの ironic ノードを更新する。
- ironic API をコールして、ターゲットノードの電源およびデプロイインターフェースを検証する。
- VIF をノードに接続する。それぞれの neutron ポートは、任意の ironic ポートまたはグループにアタッチすることができます。ポートグループはポートに優先します。
- コンフィグドライブを生成する。
- Nova ironic 仮想ドライバーが、Ironic API を使用してベアメタルノードに対応する Ironic Conductor にデプロイ要求を発行する。
- 仮想インターフェースが接続され、PXE/TFTP オプションを設定するために Neutron API が DHCP を更新する。
- ironic ノードのブートインターフェースが (i)PXE 設定を準備し、デプロイカーネルおよび ramdisk をキャッシュする。
- ironic ノードの管理インターフェースがコマンドを発行し、ノードのネットワークブートを有効にする。
- 必要に応じて、ironic ノードのデプロイインターフェースがインスタンスイメージ、カーネル、および ramdisk をキャッシュする。
- ironic ノードの電源インターフェースがノードに電源投入を指示する。
- ノードがデプロイ ramdisk を起動する。
- iSCSI デプロイメントの場合には、Conductor が iSCSI 経由でイメージを物理ノードにコピーする。直接デプロイメントの場合には、デプロイ ramdisk が一時 URL からイメージをダウンロードする。この URL は、Swift API と互換性のあるオブジェクトストアまたは HTTP の URL でなければなりません。
- ノードのブートインターフェースがインスタンスイメージを参照するように PXE 設定を切り替え、ramdisk エージェントにノードのソフトパワーオフを指示する。ソフトパワーオフに失敗した場合には、ベアメタルノードの電源は IPMI/BMC により切断されます。
- デプロイインターフェースがネットワークインターフェースにすべてのプロビジョニングポートの削除を指示し、テナントポートをノードにバインドし、ノードの電源を投入する。
これで、新規ベアメタルノードのプロビジョニングの状態が active
になります。