6.4. ramdisk 上のネットワーク設定を含む BareMetalHost CR の作成


Red Hat OpenStack Services on OpenShift (RHOSO) デプロイメントで DHCP または SLAAC による自動ネットワーク設定が使用されない場合は、Redfish Virtual Media を使用して、ramdisk 上にネットワーク設定を持つスパインリーフトポロジーを作成できます。

Red Hat OpenShift Container Platform (RHOCP) は、nmstate を使用してノードネットワークの状態を報告および設定します。各ベアメタルデータプレーンノードに対して Secret カスタムリソース (CR) を作成し、nmstate スキーマを使用して、ベアメタルデータプレーンノードをネットワークに追加するために ramdisk に必要な事前プロビジョニングネットワーク設定データを設定します。Nmstate の詳細は、Nmstate の概要 を参照してください。

注記

プロビジョニングに ctlplane インターフェイスを使用する場合は、カーネルの rp_filter ロジックがトラフィックがドロップしないように、ctlplane アドレス範囲とは異なるアドレス範囲を使用するように ramdisk ネットワークを設定します。これにより、ramdisk がプロビジョニングサービスに接続したときに、戻りトラフィックがマシンネットワークインターフェイス上に残るようになります。

手順

  1. ノードセット内の各ベアメタルデータプレーンノードに対して、ramdisk の事前プロビジョニングネットワーク設定データを nmstate 形式で定義する Secret CR を作成します。

    apiVersion: v1
    kind: Secret
    metadata:
      name: <bmh-name>-preprovision-network-data
      namespace: openstack
    stringData:
      nmstate: |
        interfaces:
          - name: enp5s0
            type: ethernet
            state: up
            ipv4:
              enabled: true
              address:
              - ip: 192.168.130.100
                prefix-length: 24
        dns-resolver:
          config:
            server:
              - 192.168.122.1
            routes:
              config:
              - destination: 0.0.0.0/0
                next-hop-address: 192.168.130.1
                next-hop-interface: enp5s0
        type: Opaque
    • <bmh-name> を、シークレットが含まれる BareMetalHost CR の名前 (例: edpm-compute-0-preprovision-network-data) に置き換えます。

    nmstate スキーマの詳細は、https://nmstate.io/devel/yaml_api.html を参照してください。

  2. Bare Metal Operator (BMO) は、デフォルトで openshift-machine-api namespace 内の BareMetalHost カスタムリソース (CR) を管理します。すべての namespace を監視するように Provisioning CR を更新します。

    $ oc patch provisioning provisioning-configuration --type merge -p '{"spec":{"watchAllNamespaces": true }}'
  3. Provisioning CR を更新して、virtualMediaViaExternalNetwork を有効にします。これにより、外部ネットワークを介したベアメタル接続が可能になります。

    $ oc patch provisioning provisioning-configuration --type merge -p '{"spec":{"virtualMediaViaExternalNetwork": true }}'
  4. ノードセット内の各ベアメタルデータプレーンノードの BMC にアクセスするための認証情報を含む Secret CR を定義するファイルをワークステーションに作成します。

    apiVersion: v1
    kind: Secret
    metadata:
      name: edpm-compute-0-bmc-secret
      namespace: openstack
    type: Opaque
    data:
      username: <base64_username>
      password: <base64_password>
    • <base64_username><base64_password> を base64 でエンコードされた文字列に置き換えます。次のコマンドを使用して、base64 でエンコードされた文字列を生成できます。

      $ echo -n <string> | base64
      ヒント

      ユーザー名とパスワードを base64 でエンコードする必要がない場合は、data フィールドの代わりに stringData フィールドを使用してユーザー名とパスワードを設定します。

  5. ワークステーションに、bmh_leaf1_nodes.yaml という名前のファイルを作成します。このファイルは、仮想メディアを起動方法として、各ベアメタルデータプレーンノードの BareMetalHost CR を定義します。

    apiVersion: metal3.io/v1alpha1
    kind: BareMetalHost
    metadata:
      name: edpm-compute-0
      namespace: openstack
    labels:
      app: openstack
      workload: compute
    spec:
      bmc:
        address: redfish-virtualmedia+http://192.168.111.1:8000/redfish/v1/Systems/e8efd888-f844-4fe0-9e2e-498f4ab7806d
    
    1
    
        credentialsName: edpm-compute-0-bmc-secret 
    2
    
      bootMACAddress: 00:c7:e4:a7:e7:f3
      bootMode: UEFI
      online: false
    1
    ノードのベースボード管理コントローラー (BMC) コントローラーと通信するための URL。BareMetalHost CR を作成する方法の詳細は、RHOCP の インストール後の設定 ガイドの BareMetalHost リソースについて を参照してください。他のブート方法での BMC アドレス指定の詳細は、インストーラーでプロビジョニングされたクラスターのベアメタルへのデプロイ ガイドの BMC アドレス指定 を参照してください。
    2
    ノードの BMC にアクセスするために前の手順で作成した Secret CR の名前。
  6. BareMetalHost CR に preprovisioningNetworkDataName フィールドを追加して、事前プロビジョニングネットワーク設定データ Secret CR を指定します。

    apiVersion: metal3.io/v1alpha1
    kind: BareMetalHost
    metadata:
    name: edpm-compute-0
    namespace: openstack
    ...
    spec:
      bmc:
        address: redfish-virtualmedia+http://192.168.111.1:8000/redfish/v1/Systems/e8efd888-f844-4fe0-9e2e-498f4ab7806d
      ...
      preprovisioningNetworkDataName: <pre_provision_network_secret>
    • <pre_provision_network_secret> を、事前プロビジョニングネットワーク設定データ用に手順 1 で作成した Secret CR に置き換えます。
  7. BareMetalHost リソースを作成します。

    $ oc create -f bmh_leaf1_nodes.yaml
  8. BareMetalHost リソースが作成され、Available 状態になっていることを確認します。

    $ oc get bmh
    NAME         STATE            CONSUMER              ONLINE   ERROR   AGE
    edpm-compute-0   Available      openstack-edpm        true             2d21h
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る