第2章 ベアメタルデプロイメントの設定


OpenStack 環境でベアメタルのデプロイメントを有効化するように、Bare Metal Provisioning、Image サービス、および Compute を設定します。以下のセクションでは、ベアメタルノードを正常にデプロイするために必要な追加の設定手順の概要を説明します。

2.1. Bare Metal Provisioning サービスの OpenStack 設定の作成

2.1.1. OpenStack Networking の設定

DHCP、PXE ブート、およびその他の要件のために OpenStack Networking が Bare Metal Provisioning と通信するように設定します。以下の手順では、ベアメタルのプロビジョニングに使用する単一のフラットなネットワークのユースケース向けに OpenStack Networking を設定します。この設定では、ML2 プラグインと Open vSwitch エージェントを使用します。

プロビジョニングに使用されるネットワークインターフェイスが、OpenStack Networking ノードのリモート接続に使用されるネットワークインターフェイスと同じではないことを確認してください。この手順では、Bare Metal Provisioning Network インターフェイスを使用してブリッジを作成し、リモート接続をすべて破棄します。

以下の手順はすべて、root ユーザーとしてログインしている間、OpenStack Networking をホストするサーバーで実行する必要があります。

OpenStack Networking がベアメタルプロビジョニングと通信するための設定

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

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

    # neutron net-create --tenant-id TENANT_ID sharednet1 --shared \
    --provider:network_type flat --provider:physical_network PHYSNET
    Copy to Clipboard Toggle word wrap

    TENANT_ID は、ネットワークを作成するテナントの一意の ID に置き換えます。PHYSNET は、物理ネットワークの名前に置き換えます。

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

    # neutron subnet-create sharednet1 NETWORK_CIDR --name SUBNET_NAME \
    --ip-version 4 --gateway GATEWAY_IP --allocation-pool \
    start=START_IP,end=END_IP --enable-dhcp
    Copy to Clipboard Toggle word wrap

    以下の値を置き換えます。

    • NETWORK_CIDR は、サブネットが示す IP アドレスブロックの Classless Inter-Domain Routing (CIDR) 表記に置き換えます。START_IP で始まり END_IP で終る範囲で指定する IP アドレスブロックは、NETWORK_CIDR で指定されている IP アドレスブロックの範囲内に入る必要があります。
    • SUBNET_NAME は、サブネットの名前に置き換えます。
    • 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 サービスによって処理されるようにします。

    # neutron router-create ROUTER_NAME
    Copy to Clipboard Toggle word wrap

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

  5. ベアメタルサブネットをこのルーターのインターフェイスとして追加します。

    # neutron router-interface-add ROUTER_NAME BAREMETAL_SUBNET
    Copy to Clipboard Toggle word wrap

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

  6. Bare Metal Provisioning サービスを実行しているコンピュートノードの /etc/ironic/ironic.conf ファイルを更新して、cleaning サービスに同じネットワークを利用します。Bare Metal Provisioning サービスが実行されているコンピュートノードにログインし、root ユーザーとして以下のコマンドを実行します。

    # openstack-config --set /etc/ironic/ironic.conf neutron cleaning_network_uuid NETWORK_UUID
    Copy to Clipboard Toggle word wrap

    NETWORK_UUID は、前のステップで作成したベアメタルプロビジョニングネットワークの ID に置き換えます。

  7. Bare Metal Provisioning サービスを再起動します。

    # systemctl restart openstack-ironic-conductor.service
    Copy to Clipboard Toggle word wrap

2.1.2. Bare Metal Provisioning フレーバーの作成

ベアメタルノードが提供する仕様(メモリー、CPU およびディスク)を持つデプロイメントの一部として使用するフレーバーを作成する必要があります。

  1. 既存のフレーバーをリスト表示します。

    # openstack flavor list
    Copy to Clipboard Toggle word wrap
  2. Bare Metal Provisioning サービス向けに新規フレーバーを作成します。

    # openstack flavor create --id auto --ram RAM --vcpus VCPU --disk DISK --public baremetal
    Copy to Clipboard Toggle word wrap

    RAM は RAM メモリーに、VCPU は仮想 CPU の数に置き換え、DISK はディスクストレージの値に置き換えます。

  3. ローカルディスクから起動するようにフレーバーを設定します。設定しなければ、デフォルトの netboot 手法が使用されます。

    # openstack flavor set --property capabilities:boot_option='local' baremetal
    Copy to Clipboard Toggle word wrap
  4. 指定したそれぞれの値を使用して新規フレーバーが作成されたことを確認します。

    # openstack flavor list
    Copy to Clipboard Toggle word wrap

2.1.3. ベアメタルイメージの作成

Bare Metal Provisioning のデプロイメントには、イメージと ユーザー イメージ をデプロイ するという 2 セットのイメージが必要です。デプロイ イメージは、ノードをブートして ユーザー イメージを Bare Metal Provisioning ノードにコピーするだけを目的とした基本的なイメージです。デプロイ イメージが Image サービスに読み込まれたら、Bare Metal Provisioning ノードを更新して、デプロイ イメージをブートイメージとして使用するように設定することができます。デプロイイメージを作成する必要はあり ません。アンダークラウドによるオーバークラウドのデプロイ 時に、すでにデプロイイメージが使用されているためです。デプロイ イメージは、以下のように、カーネルramdisk の 2 つの部分に分けることができます。

ironic-python-agent.kernel
ironic-python-agent.initramfs
Copy to Clipboard Toggle word wrap

これらのイメージは、削除していない場合は ~/stack/images ディレクトリーに配置する必要があります。定義されていない場合は、⚙ -director-images-ips パッケージがインストールされているので、これらのイメージは /usr/share/guava-director-images/ironic-python-agent*.el7ost.tar ファイル内にあります。

イメージを抽出して Image サービスに読み込みます。

# openstack image create --container-format aki --disk-format aki --public --file ./ironic-python-agent.kernel bm-deploy-kernel
# openstack image create --container-format ari --disk-format ari --public --file ./ironic-python-agent.initramfs bm-deploy-ramdisk
Copy to Clipboard Toggle word wrap

最後に必要となるイメージは、Bare Metal Provisioning ノードにデプロイされる実際のイメージです。たとえば、Red Hat Enterprise Linux KVM イメージは、すでに cloud-init を持っているため、ダウンロードできます。

Image サービスにイメージを読み込みます。

# openstack image create --container-format bare --disk-format qcow2 --public --file ./IMAGE_FILE rhel
Copy to Clipboard Toggle word wrap

2.1.4. Bare Metal Provisioning ノードの Bare Metal Provisioning サービスへの追加

Bare Metal Provisioning サービスを Bare Metal Provisioning サービスに追加するには、クラウドをインスタンス化するために使用した instackenv.json ファイルのセクションをコピーし、必要に応じて変更します。

  1. source コマンドで overcloudrc ファイルを読み込み、.json ファイルをインポートします。

    # source ~stack/overcloudrc
    # openstack baremetal import --json ./baremetal.json
    Copy to Clipboard Toggle word wrap
  2. ノードの driver_info セクションで deploy_kernel および deploy_ramdisk を指定して、デプロイされたイメージを初期ブートイメージとして使用するように、Bare Metal Provisioning サービスのベアメタルノードを更新します。

    # ironic node-update NODE_UUID add driver_info/deploy_kernel=DEPLOY_KERNEL_ID driver_info/deploy_ramdisk=DEPLOY_RAMDISK_ID
    Copy to Clipboard Toggle word wrap

NODE_UUID は、ベアメタルノードの UUID に置き換えます。この値は、director ノードで ironic node-list コマンドを実行して取得できます。DEPLOY_KERNEL_ID を、デプロイカーネルイメージの ID に置き換えます。この値は、director ノードで glance image-list コマンドを実行すると取得できます。DEPLOY_RAMDISK_ID をデプロイ ramdisk イメージの ID に置き換えます。この値は、director ノードで glance image-list コマンドを実行すると取得できます。

2.1.5. ベアメタルプロビジョニングノードのデプロイメント

nova boot コマンドを使用して、Bare Metal Provisioning ノードをデプロイします。

# nova  boot --image BAREMETAL_USER_IMAGE --flavor BAREMETAL_FLAVOR --nic net-id=IRONIC_NETWORK_ID --key default MACHINE_HOSTNAME
Copy to Clipboard Toggle word wrap

BAREMETAL_USER_IMAGE を Image サービスにロードされたイメージに置き換え、BAREMETAL_FLAVOR を Bare Metal デプロイメントのフレーバーに、IRONIC_NETWORK_ID は OpenStack Networking サービスの Bare Metal Provisioning Network の ID に、MACHINE_HOSTNAME はデプロイ後のマシンのホスト名に置き換えます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat