検索

3.2. OpenStackNetConfig CRD を使用した仮想マシンのブリッジングについて

download PDF

OpenStackVMSet CRD を使用して仮想マシン (VM) を作成する場合は、これらの VM を関連する Red Hat OpenStack Platform (RHOSP) ネットワークに接続する必要があります。OpenStackNetConfig CRD を使用すると、Red Hat OpenShift Container Platform (RHOCP) ワーカーノード上に必要なブリッジを作成し、コントローラー VM を RHOSP オーバークラウドネットワークに接続できます。RHOSP をデプロイメントするには専用の NIC が必要です。

OpenStackNetConfig CRD には、nodeNetworkConfigurationPolicy のハッシュである attachConfigurations オプションが含まれています。OpenStackNetConfig カスタムリソース (CR) で指定されたそれぞれの attachConfiguration は、NetworkAttachmentDefinition オブジェクトを作成し、ネットワークインターフェイスデータを RHOCP クラスターの NodeNetworkConfigurationPolicy リソースに渡します。NodeNetworkConfigurationPolicy リソースは、nmstate API を使用して、各 RHOCP ワーカーノードのネットワーク設定の最終状態を設定します。各ネットワークの NetworkAttachmentDefinition オブジェクトは、Multus CNI プラグイン設定を定義します。NetworkAttachmentDefinition オブジェクトの VLAN ID を指定すると、Multus CNI プラグインによってブリッジ上の vlan-filtering が有効になります。OpenStackNetConfig で設定された各ネットワークは、attachConfigurations の 1 つを参照します。VM 内には、ネットワークごとに 1 つのインターフェイスがあります。

次の例では、br-osp attachConfiguration を作成し、Linux ブリッジを作成し、そのブリッジを各ワーカーの NIC に接続するように、nodeNetworkConfigurationPolicy オプションを設定します。この設定を適用すると、NodeNetworkConfigurationPolicy オブジェクトは、必要な最終状態に一致するように各 RHOCP ワーカーノードを設定します。各ワーカーには、各ホストの enp6s0 NIC に接続される br-osp という名前の新しいブリッジが含まれます。すべての RHOSP コントローラー VM は、コントロールプレーンネットワークトラフィックの br-osp ブリッジに接続できます。

apiVersion: osp-director.openstack.org/v1beta1
kind: OpenStackNetConfig
metadata:
  name: openstacknetconfig
spec:
  attachConfigurations:
    br-osp:
      nodeNetworkConfigurationPolicy:
        nodeSelector:
          node-role.kubernetes.io/worker: ""
        desiredState:
          interfaces:
          - bridge:
              options:
                stp:
                  enabled: false
              port:
              - name: enp6s0
            description: Linux bridge with enp6s0 as a port
            name: br-osp
            state: up
            type: linux-bridge
            mtu: 1500
  ...
  networks:
  - name: Control
    nameLower: ctlplane
    subnets:
    - name: ctlplane
      ipv4:
        allocationEnd: 192.168.25.250
        allocationStart: 192.168.25.100
        cidr: 192.168.25.0/24
        gateway: 192.168.25.1
      attachConfiguration: br-osp

VLAN 20 を介して内部 API ネットワークを指定する場合は、attachConfiguration オプションを設定して、各 RHOCP ワーカーノードのネットワーク設定を変更し、VLAN を既存の br-osp ブリッジに接続できます。

apiVersion: osp-director.openstack.org/v1beta1
kind: OpenStackNetConfig
metadata:
  name: openstacknetconfig
spec:
  attachConfigurations:
    br-osp:
  ...
  networks:
  ...
  - isControlPlane: false
    mtu: 1500
    name: InternalApi
    nameLower: internal_api
    subnets:
    - attachConfiguration: br-osp
      ipv4:
        allocationEnd: 172.17.0.250
        allocationStart: 172.17.0.10
        cidr: 172.17.0.0/24
        gateway: 172.17.0.1
        routes:
        - destination: 172.17.1.0/24
          nexthop: 172.17.0.1
        - destination: 172.17.2.0/24
          nexthop: 172.17.0.1
      name: internal_api
      vlan: 20

br-osp はすでに存在し、各ホストの enp6s0 NIC に接続されているので、ブリッジ自体に変更は加えられません。ただし、InternalAPI OpenStackNet は VLAN 20 をこのネットワークに関連付けます。これは、RHOSP コントローラー VM が内部 API ネットワークトラフィックの br-osp ブリッジ上の VLAN 20 に接続できることを意味します。

OpenStackVMSet CRD を使用して VM を作成すると、VM は各ネットワークに接続された複数の Virtio デバイスを使用します。OpenShift Virtualization は、default ネットワーク (常に最初にくるインターフェイス) を除き、ネットワーク名をアルファベット順に並べ替えます。たとえば、OpenStackNetConfig を使用してデフォルトの RHOSP ネットワークを作成すると、コントローラー VM に対して次のインターフェイス設定が生成されます。

interfaces:
  - masquerade: {}
    model: virtio
    name: default
  - bridge: {}
    model: virtio
    name: ctlplane
  - bridge: {}
    model: virtio
    name: external
  - bridge: {}
    model: virtio
    name: internalapi
  - bridge: {}
    model: virtio
    name: storage
  - bridge: {}
    model: virtio
    name: storagemgmt
  - bridge: {}
    model: virtio
    name: tenant

この設定により、コントローラーノードの以下のネットワークとインターフェイスのマッピングが作成されます。

表3.1 デフォルトのネットワークからインターフェイスへのマッピング
ネットワークインターフェイス

default

nic1

ctlplane

nic2

external

nic3

internalapi

nic4

storage

nic5

storagemgmt

nic6

tenant

nic7

注記

OpenStackVMSet で使用されるロール NIC テンプレートは自動生成されます。カスタム NIC テンプレートファイル <role>-nic-template.j2 (たとえば、controller-nic-template.j2) のデフォルト設定を上書きできます。カスタム NIC ファイルを、OpenShift ConfigMap オブジェクトを使用して実装されるオーバークラウド設定を含む tarball ファイルに追加する必要があります。詳細は、第 4 章director Operator を使用したオーバークラウドのカスタマイズ。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.