7.6. OpenStackControlPlane でのコントロールプレーンの作成

オーバークラウドのコントロールプレーンには、オーバークラウドの機能を管理するメインの Red Hat OpenStack Platform サービスが含まれます。コントロールプレーンは、通常 3 つのコントローラーノードで設定されており、他のコントロールプレーンベースのコンポーザブルロールにスケーリングできます。コンポーザブルロールを使用する場合は、各サービスは 3 つの追加の専用ノードで実行される必要があり、Pacemaker のクォーラムを維持するために、コントロールプレーン内のノードの合計数を追加する必要があります。

OpenStackControlPlane カスタムリソースは、コントロールプレーンベースのノードを OpenShift Virtualization 内の仮想マシンとして作成します。

前提条件

  • OpenShift Container Platform クラスターが稼働し、director Operator が正しくインストールされていることを確認する。
  • oc コマンドラインツールがワークステーションにインストールされていることを確認する。
  • OpenStackNetConfig リソースを使用して、コントロールプレーンネットワークおよび追加の分離ネットワークを作成します。

手順

  1. ワークステーションに openstack-controller.yaml という名前のファイルを作成します。コントローラーノードのリソース仕様を含めます。たとえば、3 つのコントローラーノードで設定されるコントロールプレーンの仕様は以下のとおりです。

    apiVersion: osp-director.openstack.org/v1beta2
    kind: OpenStackControlPlane
    metadata:
      name: overcloud
      namespace: openstack
    spec:
      openStackClientNetworks:
            - ctlplane
            - internal_api
            - external
      openStackClientStorageClass: host-nfs-storageclass
      passwordSecret: userpassword
      virtualMachineRoles:
        Controller:
          roleName: Controller
          roleCount: 3
          networks:
            - ctlplane
            - internal_api
            - external
            - tenant
            - storage
            - storage_mgmt
          cores: 12
          memory: 64
          rootDisk:
            diskSize: 100
            baseImageVolumeName: openstack-base-img
            # storageClass must support RWX to be able to live migrate VMs
            storageClass: host-nfs-storageclass
            storageAccessMode:  ReadWriteMany
            # When using OpenShift Virtualization with OpenShift Container Platform Container Storage,
            # specify RBD block mode persistent volume claims (PVCs) when creating virtual machine disks.
            # With virtual machine disks, RBD block mode volumes are more efficient and provide better
            # performance than Ceph FS or RBD filesystem-mode PVCs.
            # To specify RBD block mode PVCs, use the 'ocs-storagecluster-ceph-rbd' storage class and
            # VolumeMode: Block.
            storageVolumeMode: Filesystem
          # optional configure additional discs to be attached to the VMs,
          # need to be configured manually inside the VMs where to be used.
          additionalDisks:
            - name: datadisk
              diskSize: 500
              storageClass: host-nfs-storageclass
              storageAccessMode:  ReadWriteMany
              storageVolumeMode: Filesystem
      openStackRelease: "16.2"

    リソース仕様に以下の値を設定します。

    metadata.name
    オーバークラウドコントロールプレーンの名前を overcloud に設定します。
    metadata.namespace
    director Operator namespace を openstack に設定します。
    spec

    コントロールプレーンの設定を指定します。このセクションで使用できる値の詳細は、openstackcontrolplane CRD のカスタムリソース定義の仕様スキーマを確認します。

    $ oc describe crd openstackcontrolplane

    コントロールプレーンの仕様の設定が完了したら、ファイルを保存します。

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

    $ oc create -f openstack-controller.yaml -n openstack

    OCP が OpenStackControlPlane リソースに関連するリソースを作成するまで待機します。

    director Operator は、OpenStackControlPlane リソースの一部として、リモートシェルからアクセスして RHOSP コマンドを実行できる OpenStackClient Pod も作成します。

検証

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

    $ oc get openstackcontrolplane/overcloud -n openstack
  2. OpenStackVMSet リソースを表示して、コントロールプレーンの仮想マシンセットの作成を確認します。

    $ oc get openstackvmsets -n openstack
  3. 仮想マシンリソースを表示し、OpenShift Virtualization でのコントロールプレーンの仮想マシンの作成を確認します。

    $ oc get virtualmachines
  4. openstackclient リモートシェルにアクセスできるかをテストします。

    $ oc rsh -n openstack openstackclient