2.4. カスタマイズされた br-ex ブリッジを含むマニフェストオブジェクトの作成


configure-ovs.sh シェルスクリプトを使用してベアメタルプラットフォームで br-ex ブリッジを設定する代わりに、NMState 設定ファイルを含む MachineConfig オブジェクトを作成できます。ホスト nmstate-configuration.service および nmstate.service により、クラスター内で実行される各ノードに NMState 設定ファイルが適用されます。

カスタマイズされた br-ex ブリッジを含むマニフェストオブジェクトを作成する場合は、次のユースケースを検討してください。

  • Open vSwitch (OVS) または OVN-Kubernetes br-ex ブリッジネットワークの変更など、ブリッジにインストール後の変更を加えたい場合。configure-ovs.sh シェルスクリプトは、ブリッジへのインストール後の変更をサポートしていません。
  • ホストまたはサーバーの IP アドレスで使用可能なインターフェイスとは異なるインターフェイスにブリッジをデプロイします。
  • configure-ovs.sh シェルスクリプトでは不可能な、ブリッジの高度な設定を実行したいと考えています。これらの設定にスクリプトを使用すると、ブリッジが複数のネットワークインターフェイスに接続できず、インターフェイス間のデータ転送が促進されない可能性があります。
注記

単一のネットワークインターフェイスコントローラー (NIC) とデフォルトのネットワーク設定を備えた環境が必要な場合は、configure-ovs.sh シェルスクリプトを使用します。

Red Hat Enterprise Linux CoreOS (RHCOS) をインストールしてシステムを再起動すると、Machine Config Operator がクラスター内の各ノードに Ignition 設定ファイルを挿入し、各ノードが br-ex ブリッジネットワーク設定を受け取るようになります。設定の競合を防ぐために、configure-ovs.sh シェルスクリプトは、br-ex ブリッジを設定しない信号を受け取ります。

前提条件

  • オプション: NMState 設定を検証できるように、nmstate API をインストールしました。

手順

  1. カスタマイズされた br-ex ブリッジネットワークの base64 情報をデコードした NMState 設定ファイルを作成します。

    カスタマイズされた br-ex ブリッジネットワークの NMState 設定の例

    interfaces:
    - name: enp2s0 
    1
    
      type: ethernet 
    2
    
      state: up 
    3
    
      ipv4:
        enabled: false 
    4
    
      ipv6:
        enabled: false
    - name: br-ex
      type: ovs-bridge
      state: up
      ipv4:
        enabled: false
        dhcp: false
      ipv6:
        enabled: false
        dhcp: false
      bridge:
        options:
          mcast-snooping-enable: true
        port:
        - name: enp2s0 
    5
    
        - name: br-ex
    - name: br-ex
      type: ovs-interface
      state: up
      copy-mac-from: enp2s0
      ipv4:
        enabled: true
        dhcp: true
        auto-route-metric: 48 
    6
    
      ipv6:
        enabled: true
        dhcp: true
        auto-route-metric: 48
    # ...
    Copy to Clipboard Toggle word wrap

    1
    インターフェイスの名前。
    2
    イーサネットのタイプ。
    3
    作成後のインターフェイスの要求された状態。
    4
    この例では、IPv4 と IPv6 を無効にします。
    5
    ブリッジが接続されるノードの NIC。
    6
    br-ex デフォルトルートに常に最高の優先度 (最も低いメトリック値) を付与するには、パラメーターを 48 に設定します。この設定により、NetworkManager サービスによって自動的に設定される他のインターフェイスとのルーティングの競合が防止されます。
  2. cat コマンドを使用して、NMState 設定の内容を base64 でエンコードします。

    $ cat <nmstate_configuration>.yaml | base64 
    1
    Copy to Clipboard Toggle word wrap
    1
    <nmstate_configuration> を NMState リソース YAML ファイルの名前に置き換えます。
  3. MachineConfig マニフェストファイルを作成し、次の例に類似したカスタマイズされた br-ex ブリッジネットワーク設定を定義します。

    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
      labels:
        machineconfiguration.openshift.io/role: worker
      name: 10-br-ex-worker 
    1
    
    spec:
      config:
        ignition:
          version: 3.2.0
        storage:
          files:
          - contents:
              source: data:text/plain;charset=utf-8;base64,<base64_encoded_nmstate_configuration> 
    2
    
            mode: 0644
            overwrite: true
            path: /etc/nmstate/openshift/worker-0.yml 
    3
    
          - contents:
              source: data:text/plain;charset=utf-8;base64,<base64_encoded_nmstate_configuration>
            mode: 0644
            overwrite: true
            path: /etc/nmstate/openshift/worker-1.yml 
    4
    
    # ...
    Copy to Clipboard Toggle word wrap
    1
    ポリシーの名前。
    2
    エンコードされた base64 情報を指定されたパスに書き込みます。
    3 4
    クラスター内の各ノードに対して、ノードへのホスト名パスと、マシンタイプに応じた base-64 でエンコードされた Ignition 設定ファイルデータを指定します。worker ロールは、クラスター内のノードのデフォルトロールです。MachineConfig マニフェストファイルで各ノードまたはすべてのノードに対して短いホスト名 (hostname -s で得られるもの) のパスを指定する際に、.yaml 拡張子は機能しません。

    クラスターのすべてのノードに適用する /etc/nmstate/openshift/cluster.yml 設定ファイルに指定された単一のグローバル設定がある場合は、/ etc/nmstate/openshift/<node_hostname>.yml などの各ノードの短いホスト名パスを指定する必要はありません。以下に例を示します。

    # ...
          - contents:
              source: data:text/plain;charset=utf-8;base64,<base64_encoded_nmstate_configuration>
            mode: 0644
            overwrite: true
            path: /etc/nmstate/openshift/cluster.yml
    # ...
    Copy to Clipboard Toggle word wrap

次のステップ

  • コンピュートノードをスケーリングして、クラスター内に存在する各コンピュートノードに、カスタマイズされた br-ex ブリッジを含むマニフェストオブジェクトを適用します。詳細は、関連情報 セクションの「クラスターの拡張」を参照してください。

2.4.1. オプション: 各マシンセットをコンピュートノードにスケーリングする

カスタマイズされた br-ex ブリッジ設定を OpenShift Container Platform クラスター内のすべてのコンピュートノードに適用するには、MachineConfig カスタムリソース (CR) を編集し、そのロールを変更する必要があります。さらに、ホスト名、認証情報など、ベアメタルマシンの情報を定義する BareMetalHost CR を作成する必要があります。

これらのリソースを設定した後、マシンセットをスケーリングして、マシンセットが各コンピュートノードにリソース設定を適用し、ノードを再起動できるようにする必要があります。

前提条件

  • カスタマイズされた br-ex ブリッジ設定を含む MachineConfig マニフェストオブジェクトを作成しました。

手順

  1. 次のコマンドを入力して MachineConfig CR を編集します。

    $ oc edit mc <machineconfig_custom_resource_name>
    Copy to Clipboard Toggle word wrap
  2. 各コンピュートノード設定を CR に追加して、CR がクラスター内の定義済みコンピュートノードごとにロールを管理できるようにします。
  3. 最小限の静的 IP 設定を持つ extraworker-secret という名前の Secret オブジェクトを作成します。
  4. 次のコマンドを入力して、クラスター内の各ノードに extraworker-secret シークレットを適用します。このステップでは、各コンピュートノードに Ignition 設定ファイルへのアクセスを提供します。

    $ oc apply -f ./extraworker-secret.yaml
    Copy to Clipboard Toggle word wrap
  5. BareMetalHost リソースを作成し、preprovisioningNetworkDataName パラメーターでネットワークシークレットを指定します。

    ネットワークシークレットが添付された BareMetalHost リソースの例

    apiVersion: metal3.io/v1alpha1
    kind: BareMetalHost
    spec:
    # ...
      preprovisioningNetworkDataName: ostest-extraworker-0-network-config-secret
    # ...
    Copy to Clipboard Toggle word wrap

  6. クラスターの openshift-machine-api namespace 内で BareMetalHost オブジェクトを管理するために、次のコマンドを入力して namespace に変更します。

    $ oc project openshift-machine-api
    Copy to Clipboard Toggle word wrap
  7. マシンセットを取得します。

    $ oc get machinesets
    Copy to Clipboard Toggle word wrap
  8. 次のコマンドを入力して、各マシンセットをスケールします。このコマンドはマシンセットごとに実行する必要があります。

    $ oc scale machineset <machineset_name> --replicas=<n> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <machineset_name> はマシンセットの名前です。<n> はコンピュートノードの数です。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat