第8章 director operator のデプロイメントシナリオ: 外部の Ceph Storage を使用するオーバークラウド

director Operator を使用して、外部の Red Hat Ceph Storage クラスターに接続するオーバークラウドをデプロイできます。

前提条件

  • 外部の Red Hat Ceph Storage クラスター

8.1. ベースオペレーティングシステムのデータボリュームの作成

コントローラー仮想マシンのベースオペレーティングシステムのイメージを保存するには、OpenShift Container Platform (OCP) クラスターでデータボリュームを作成する必要があります。

前提条件

  • Red Hat Enterprise Linux 8.4 QCOW2 イメージをワークステーションにダウンロードします。このイメージは、Red Hat カスタマーポータルの 製品ダウンロード セクションからダウンロードできます。
  • virtctl クライアントツールをワークステーションにインストールします。以下のコマンドを実行して、このツールを Red Hat Enterprise Linux ワークステーションにインストールできます。

    $ sudo subscription-manager repos --enable=cnv-4.10-for-rhel-8-x86_64-rpms
    $ sudo dnf install -y kubevirt-virtctl
  • virt-customize クライアントツールをワークステーションにインストールします。このツールは、以下のコマンドを使用して Red Hat Enterprise Linux ワークステーションにインストールできます。

    $ dnf install -y libguestfs-tools-c

手順

  1. access.redhat.com からダウンロードしたデフォルトの QCOW2 イメージでは、biosdev の予測可能なネットワークインターフェイス名は使用されません。biosdev の予測可能なネットワークインターフェイス名を使用するように、virt-customize でイメージを変更します。

    $ sudo virt-customize -a <local path to image> --run-command 'sed -i -e "s/^\(kernelopts=.*\)net.ifnames=0 \(.*\)/\1\2/" /boot/grub2/grubenv'
    $ sudo virt-customize -a <local path to image> --run-command 'sed -i -e "s/^\(GRUB_CMDLINE_LINUX=.*\)net.ifnames=0 \(.*\)/\1\2/" /etc/default/grub' --truncate /etc/machine-id
  2. virtctl でイメージを OpenShift Virtualization にアップロードします。

    $ virtctl image-upload dv <datavolume_name> -n openstack \
     --size=<size> --image-path=<local_path_to_image> \
     --storage-class <storage_class> --access-mode <access_mode> --insecure
    • <datavolume_name> をデータボリュームの名前 (例: openstack-base-img) に置き換えます。
    • <size> を、環境に必要なデータボリュームのサイズ (たとえば、50Gi) に置き換えます。最小サイズは 50GB です。
    • <storage_class> をクラスターの必要なストレージクラスに置き換えます。次のコマンドを使用して、利用可能なストレージクラスを取得します。

      $ oc get storageclass
    • <access_mode> を、PVC のアクセスモードに置き換えます。デフォルト値は ReadWriteOnce です。
  3. OpenStackControlPlane リソースおよび個別の OpenStackVmSet リソースの作成時に、baseImageVolumeName パラメーターをデータボリューム名に設定します。

    ...
    spec:
      ...
      baseImageVolumeName: openstack-base-img
    ...