4.3. RHOSO ネットワーク VIPS 用の RHOCP の準備


Red Hat OpenStack Services on OpenShift (RHOSO) サービスは、Red Hat OpenShift Container Platform (RHOCP) のワークロードとして実行されます。仮想 IP (VIP) のアナウンス方法を定義するには L2Advertisement リソースを作成し、VIP として使用できる IP を設定するには IPAddressPool リソースを作成する必要があります。レイヤー 2 モードでは、1 つのノードがローカルネットワークにサービスをアドバタイズする役割を担います。

手順

  1. ワークステーションに IPAddressPool CR ファイル (例: openstack-ipaddresspools.yaml) を作成します。
  2. IPAddressPool CR ファイルで、分離ネットワークの IPAddressPool リソースを設定して、MetalLB に権限を与える IP アドレスの範囲を指定します。

    apiVersion: metallb.io/v1beta1
    kind: IPAddressPool
    metadata:
      name: internalapi
      namespace: metallb-system
    spec:
      addresses:
        - 172.17.0.80-172.17.0.90 
    1
    
      autoAssign: true
      avoidBuggyIPs: false
    ---
    apiVersion: metallb.io/v1beta1
    kind: IPAddressPool
    metadata:
      namespace: metallb-system
      name: ctlplane
    spec:
      addresses:
        - 192.168.122.80-192.168.122.90
      autoAssign: true
      avoidBuggyIPs: false
    ---
    apiVersion: metallb.io/v1beta1
    kind: IPAddressPool
    metadata:
      namespace: metallb-system
      name: storage
    spec:
      addresses:
        - 172.18.0.80-172.18.0.90
      autoAssign: true
      avoidBuggyIPs: false
    ---
    apiVersion: metallb.io/v1beta1
    kind: IPAddressPool
    metadata:
      namespace: metallb-system
      name: tenant
    spec:
      addresses:
        - 172.19.0.80-172.19.0.90
      autoAssign: true
      avoidBuggyIPs: false
    1
    IPAddressPool の範囲が、whereabouts IPAM の範囲および NetConfig allocationRange と重複しないようにしてください。

    その他の IPAddressPool リソースパラメーターを設定する方法は、RHOCP ネットワーク ガイドの MetalLB アドレスプールの設定 を参照してください。

  3. クラスターに IPAddressPool CR を作成します。

    $ oc apply -f openstack-ipaddresspools.yaml
  4. IPAddressPool CR が作成されたことを確認します。

    $ oc describe -n metallb-system IPAddressPool
  5. ワークステーションに L2Advertisement CR ファイル (例: openstack-l2advertisement.yaml) を作成します。
  6. L2Advertisement CR ファイルで、L2Advertisement CR を設定して、どのノードがローカルネットワークにサービスをアドバタイズするかを定義します。各ネットワークに 1 つの L2Advertisement リソースを作成します。

    次の例の各 L2Advertisement CR では、ネットワークアドレスプールから要求された VIP が VLAN に割り当てられているインターフェイスで通知されるように指定しています。

    apiVersion: metallb.io/v1beta1
    kind: L2Advertisement
    metadata:
      name: internalapi
      namespace: metallb-system
    spec:
      ipAddressPools:
      - internalapi
      interfaces:
      - internalapi 
    1
    
    ---
    apiVersion: metallb.io/v1beta1
    kind: L2Advertisement
    metadata:
      name: ctlplane
      namespace: metallb-system
    spec:
      ipAddressPools:
      - ctlplane
      interfaces:
      - enp6s0
    ---
    apiVersion: metallb.io/v1beta1
    kind: L2Advertisement
    metadata:
      name: storage
      namespace: metallb-system
    spec:
      ipAddressPools:
      - storage
      interfaces:
      - storage
    ---
    apiVersion: metallb.io/v1beta1
    kind: L2Advertisement
    metadata:
      name: tenant
      namespace: metallb-system
    spec:
      ipAddressPools:
      - tenant
      interfaces:
      - tenant
    1
    VLAN アドレスプールから要求された VIP が通知されるインターフェイス。

    その他の L2Advertisement リソースパラメーターを設定する方法は、RHOCP ネットワーク ガイドの L2 アドバタイズメントとラベルを使用した MetalLB の設定 を参照してください。

  7. クラスターに L2Advertisement CR を作成します。

    $ oc apply -f openstack-l2advertisement.yaml
  8. L2Advertisement CR が作成されたことを確認します。

    $ oc get -n metallb-system L2Advertisement
    NAME          IPADDRESSPOOLS    IPADDRESSPOOL SELECTORS   INTERFACES
    ctlplane      ["ctlplane"]                                ["enp6s0"]
    internalapi   ["internalapi"]                             ["internalapi"]
    storage       ["storage"]                                 ["storage"]
    tenant        ["tenant"]                                  ["tenant"]
  9. クラスターにネットワークバックエンドとして OVNKubernetes がある場合は、MetalLB がセカンダリーネットワークインターフェイスで動作できるように、グローバル転送を有効にする必要があります。

    1. クラスターが使用するネットワークバックエンドを確認します。

      $ oc get network.operator cluster --output=jsonpath='{.spec.defaultNetwork.type}'
    2. バックエンドが OVNKubernetes の場合は、次のコマンドを実行してグローバル IP 転送を有効にします。

      $ oc patch network.operator cluster -p '{"spec":{"defaultNetwork":{"ovnKubernetesConfig":{"gatewayConfig":{"ipForwarding": "Global"}}}}}' --type=merge
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る