8.4. OpenStackNetConfig を使用したオーバークラウドのコントロールプレーンネットワークの作成

OpenStackNetConfig で、オーバークラウド用に少なくとも 1 つのコントロールプレーンネットワークを定義する必要があります。IP アドレスの割り当てに加えて、ネットワーク定義には OpenStackNetAttachment のマッピング情報が含まれます。OpenShift Virtualization はこの情報を使用して、仮想マシンをネットワークに接続します。

前提条件

  • OpenShift Container Platform クラスターが稼働し、director Operator が正しくインストールされていることを確認する。
  • oc コマンドラインツールがワークステーションにインストールされていることを確認する。

手順

  1. ワークステーション上に osnetconfig.yaml という名前のファイルを作成します。ctlplane という名前のコントロールプレーンネットワークのリソース仕様を含めます。たとえば、各ワーカーノードの enp6s0 イーサネットデバイスに接続された Linux ブリッジを使用するコントロールプレーンの仕様は以下のようになります。

    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
      # optional DnsServers list
      dnsServers:
      - 192.168.25.1
      # optional DnsSearchDomains list
      dnsSearchDomains:
      - osptest.test.metalkube.org
      - some.other.domain
      # DomainName of the OSP environment
      domainName: osptest.test.metalkube.org
      networks:
      - name: Control
        nameLower: ctlplane
        subnets:
        - name: ctlplane
          ipv4:
            allocationEnd: 172.22.0.250
            allocationStart: 172.22.0.100
            cidr: 172.22.0.0/24
            gateway: 172.22.0.1
          attachConfiguration: br-osp
      # optional: configure static mapping for the networks per nodes. If there is none, a random gets created
      reservations:
        controller-0:
          ipReservations:
            ctlplane: 172.22.0.120
        compute-0:
          ipReservations:
            ctlplane: 172.22.0.140

    ネットワーク仕様で次の値を設定します。

    name
    コントロールプレーンネットワークの名 (Control) を設定します。
    nameLower
    コントロールプレーンネットワークの下位の名前 (ctlplane) を設定します。
    subnets
    サブネットの仕様を設定します。
    subnets.name
    コントロールプレーンサブネットの名前 (ctlplane) を設定します。
    subnets.attachConfiguration
    どのアタッチ設定を使用するかの参照を設定します。
    subnets.ipv4
    allocationStart、allocationEnd、cidr、ゲートウェイ、オプションのルートリスト (宛先と nexthop を含む) を含む ipv4 サブネットの詳細

    このセクションで使用できる値の詳細は、openstacknetconfig CRD のカスタムリソース定義の仕様スキーマを確認します。

    $ oc describe crd openstacknetconfig

    ネットワーク仕様の設定が完了したら、ファイルを保存します。

  2. コントロールプレーンネットワークを作成します。

    $ oc create -f osnetconfig.yaml -n openstack

検証

  1. コントロールプレーンネットワークのリソースを表示します。

    $ oc get openstacknetconfig/openstacknetconfig