第4章 デプロイ後の Bare Metal Provisioning サービスの設定
Bare Metal Provisioning サービス (ironic) を使用して、オーバークラウドをデプロイしたら、ベアメタルワークロード用にオーバークラウドを準備する必要があります。ベアメタルワークロード用にオーバークラウドを準備し、クラウドユーザーがベアメタルインスタンスを作成できるようにするには、以下のタスクを完了します。
- Bare Metal Provisioning サービスと統合するように、Networking サービス (neutron) を設定します。
- ノードのクリーニングの設定
- ベアメタルフレーバーとリソースクラスの作成
- オプション: ベアメタルイメージを作成します。
- 物理マシンをベアメタルノードとして追加
- オプション: Redfish 仮想メディアブートを設定します。
- オプション: ホストアグリゲートを作成して、物理マシンと仮想マシンのプロビジョニングを分離
4.1. ベアメタルプロビジョニング用の Networking サービスの設定
Bare Metal Provisioning サービス (ironic) と統合するように、Networking サービス (neutron) を設定できます。次のいずれかの方法を使用して、ベアメタルネットワークを設定できます。
-
Bare Metal Provisioning のコンダクターサービスである
ironic-conductor
用に 1 つのフラットベアメタルネットワークを作成します。このネットワークは、コントロールプレーンネットワーク上の Bare Metal Provisioning サービスにルーティングする必要があります。 - カスタムのコンポーザブルネットワークを作成して、オーバークラウドに Bare Metal Provisioning サービスを実装します。
4.1.1. フラットなネットワークで Bare Metal Provisioning サービスと統合するための Networking サービスの設定
Bare Metal Provisioning コンダクターサービスの 1 つのフラットベアメタルネットワークである ironic-conductor
を作成して、Bare Metal Provisioning サービス (ironic) と統合するように、Networking サービス (neutron) を設定できます。このネットワークは、コントロールプレーンネットワーク上の Bare Metal Provisioning サービスにルーティングする必要があります。
手順
-
Networking サービス (neutron) をホスティングするノードに
root
ユーザーとしてログインします。 オーバークラウド認証情報ファイルを入手します。
# source ~/<credentials_file>
-
<credentials_file>
を認証情報ファイルの名前 (overcloudrc
など) に置き換えます。
-
ベアメタルインスタンスをプロビジョニングするフラットネットワークを作成します。
# openstack network create \ --provider-network-type flat \ --provider-physical-network <provider_physical_network> \ --share <network_name>
-
<provider_physical_network>
を仮想ネットワークを実装する物理ネットワークの名前に置き換えます。これは、network-environment.yaml
ファイルのパラメーターNeutronBridgeMappings
で設定されます。 -
<network_name>
をこのネットワークの名前に置き換えます。
-
フラットネットワーク上にサブネットを作成します。
# openstack subnet create \ --network <network_name> \ --subnet-range <network_cidr> \ --ip-version 4 \ --gateway <gateway_ip> \ --allocation-pool start=<start_ip>,end=<end_ip> \ --dhcp <subnet_name>
-
<network_name>
を前の手順で作成したプロビジョニングネットワークの名前に置き換えます。 -
<network_cidr>
をサブネットが表す IP アドレスのブロックの Classless Inter-Domain Routing (CIDR) 表現に置き換えます。<start_ip>
で始まり<end_ip>
で終わる範囲で指定する IP アドレスのブロックは、<network_cidr>
で指定された IP アドレスのブロック内にある必要があります。 -
<gateway_ip>
は、新しいサブネットのゲートウェイとして機能するルーターインターフェイスの IP アドレスまたはホスト名に置き換えます。このアドレスは、<network_cidr>
で指定された IP アドレスのブロック内にある必要がありますが、<start_ip>
で始まり<end_ip>
で終わる範囲で指定された IP アドレスのブロック外にある必要があります。 -
<start_ip>
をフローティング IP アドレスが割り当てられる新しいサブネット内の IP アドレス範囲の開始を示す IP アドレスに置き換えます。 -
<end_ip>
をフローティング IP アドレスが割り当てられる新しいサブネット内の IP アドレスの範囲の終了を示す IP アドレスに置き換えます。 -
<subnet_name>
をサブネットの名前に置き換えます。
-
ネットワーキングサービスがメタデータリクエストを確実に処理するように、ネットワークとサブネット用のルーターを作成します。
# openstack router create <router_name>
-
<router_name>
をルーターの名前に置き換えます。
-
cloud-init
からのメタデータリクエストを処理し、ノードを設定できるように、サブネットを新しいルーターに接続します。# openstack router add subnet <router_name> <subnet>
-
<router_name>
をルーターの名前に置き換えます。 -
<subnet>
を手順 4 で作成したベアメタルサブネットの ID または名前に置き換えます。
-
4.1.2. カスタムコンポーザブルネットワーク上の Bare Metal Provisioning サービスと統合するための Networking サービスの設定
オーバークラウドに Bare Metal Provisioning サービスを実装するためのカスタムコンポーザブルネットワークを作成して、Bare Metal Provisioning サービス (ironic) と統合するように、Networking サービス (neutron) を設定できます。
手順
- アンダークラウドのホストにログインします。
オーバークラウド認証情報ファイルを入手します。
$ source ~/<credentials_file>
-
<credentials_file>
を認証情報ファイルの名前 (overcloudrc
など) に置き換えます。
-
Bare Metal Provisioning サービスをホスティングするプロバイダーネットワークの UUID を取得します。
(overcloud)$ openstack network show <network_name> -f value -c id
-
<network_name>
をベアメタルインスタンスプロビジョニングネットワークに使用するプロバイダーネットワークの名前に置き換えます。
-
-
デプロイメント用の Bare Metal Provisioning サービスを設定するローカル環境ファイル (例:
ironic-overrides.yaml
) を開きます。 ベアメタルインスタンスのプロビジョニングネットワークとして使用するネットワークを設定します。
parameter_defaults: IronicProvisioningNetwork: <network_uuid>
-
<network_uuid>
を手順 3 で取得したプロバイダーネットワークの UUID に置き換えます。
-
stackrc
アンダークラウド認証情報ファイルを入手します。$ source ~/stackrc
ベアメタルインスタンスのプロビジョニングネットワーク設定を適用するには、ベアメタルプロビジョニング環境ファイルを他の環境ファイルとともにスタックに追加し、オーバークラウドをデプロイします。
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/node-info.yaml \ -r /home/stack/templates/roles_data.yaml \ -e /usr/share/openstack-tripleo-heat-templates/network-environment.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/<default_ironic_template> \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-inspector.yaml \ -e /home/stack/templates/network_environment_overrides.yaml \ -n /home/stack/templates/network_data.yaml \ -e /home/stack/templates/ironic-overrides.yaml
-
デプロイメントのネットワークサービスメカニズムドライバーに応じて、
<default_ironic_template>
をironic.yaml
またはironic-overcloud.yaml
のいずれかに置き換えます。
-
デプロイメントのネットワークサービスメカニズムドライバーに応じて、