Menu Close

第5章 デプロイ後の Bare Metal Provisioning サービスの設定

Bare Metal Provisioning サービス (ironic) を有効にしてオーバークラウドをデプロイしたら、ベアメタルの負荷用に環境を準備するために追加の設定を完了する必要がある場合があります。

  • ネットワークの設定
  • ノードのクリーニングの設定
  • ベアメタルノード用のベアメタルフレーバーおよびイメージの作成
  • デプロイインターフェースの設定
  • 仮想メディアブートの設定
  • 仮想マシンと物理マシンのプロビジョニングの分離

前提条件

5.1. OpenStack のネットワーク設定

DHCP、PXE ブート、およびその他の必要な場合に OpenStack Networking が Bare Metal Provisioning サービスと通信するように設定します。ベアメタルネットワークを設定するには、2 とおりの方法があります。

  • Ironic Conductor サービス用にフラットなベアメタルネットワークを使用する。このネットワークは、コントロールプレーンネットワーク上の Ironic サービスにルーティングする必要があります。
  • カスタムのコンポーザブルネットワークを使用して、オーバークラウドに Ironic サービスを実装する。

本項の手順に従って、ベアメタルマシンのプロビジョニングに使用する単一のフラットなネットワーク向けに OpenStack Networking を設定するか、あるいは未使用の分離ネットワークまたはフラットネットワークに依存しない新たなコンポーザブルネットワークを設定します。この設定では、ML2 プラグインと Open vSwitch エージェントを使用します。

5.1.1. OpenStack Networking がフラットなベアメタルネットワーク上の Bare Metal Provisioning サービスと通信するための設定

OpenStack Networking サービスをホストするサーバーにおいて、以下の手順に記載するすべてのステップを root ユーザーとして実行します。

前提条件

手順

  1. Identity に管理ユーザーとしてアクセスするためのシェルを設定します。

    $ source ~/overcloudrc
  2. ベアメタルインスタンスをプロビジョニングするためのフラットなネットワークを作成します。

    $ openstack network create \
      --provider-network-type flat \
      --provider-physical-network baremetal \
      --share NETWORK_NAME

    NETWORK_NAME は、このネットワークの名前に置き換えます。仮想ネットワークの実装先となる物理ネットワークの名前 (この場合は baremetal) は、以前の手順で ~/templates/network-environment.yaml ファイルの NeutronBridgeMappings パラメーターで設定されています。

  3. フラットネットワーク上にサブネットを作成します。

    $ 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

    以下の値を置き換えてください。

    • 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 は、Floating IP アドレスを確保する新規サブネット内の IP アドレス範囲の開始アドレスを示す IP アドレスに置き換えます。
    • END_IP は、Floating IP アドレスを確保する新規サブネット内の IP アドレス範囲の終了アドレスを示す IP アドレスに置き換えます。
  4. ネットワークとサブネット用のルーターを作成して、OpenStack Networking サービスがメタデータ要求に応答するようにします。

    $ openstack router create ROUTER_NAME

    ROUTER_NAME は、ルーターの名前に置き換えます。

  5. サブネットを新しいルーターに接続します。

    $ openstack router add subnet ROUTER_NAME BAREMETAL_SUBNET

    ROUTER_NAME をルーターの名前に、BAREMETAL_SUBNET を以前のステップで作成したサブネットの ID または名前に、それぞれ置き換えます。これにより、cloud-init からのメタデータ要求に対応すると共に、ノードを設定することができます。

5.1.2. OpenStack Networking がカスタムコンポーザブルベアメタルネットワーク上の Bare Metal Provisioning サービスと通信するための設定

OpenStack Networking サービスをホストするサーバーにおいて、以下の手順に記載するすべてのステップを root ユーザーとして実行します。

前提条件

手順

  1. デプロイメント中に作成する OcProvisioning ネットワークと一致する VLAN ID で、VLAN ネットワークを作成します。クリーニングネットワークのデフォルト名と一致するように、新しいネットワークの名前を provisioning と設定します。

    (overcloud) [stack@host01 ~]$ openstack network create \
      --share \
      --provider-network-type vlan \
      --provider-physical-network datacentre \
      --provider-segment 205 provisioning

    オーバークラウドネットワークの名前が provisioning ではない場合には、コントローラーにログインし、以下のコマンドを実行して名前を変更し、ネットワークを再起動します。

    heat-admin@overcloud-controller-0 ~]$ sudo vi /var/lib/config-data/puppet-generated/ironic/etc/ironic/ironic.conf
    heat-admin@overcloud-controller-0 ~]$ sudo podman restart ironic_conductor