11.3.2.2. ブートソースイメージのストレージクラスの設定
HyperConverged リソースで特定のストレージクラスを設定できます。
安定した動作を確保し、不要な再インポートを回避するには、HyperConverged リソースの dataImportCronTemplates セクションで storageClassName を指定します。
前提条件
-
OpenShift CLI (
oc) がインストールされている。
手順
以下のコマンドを実行して、デフォルトのエディターで
HyperConvergedCR を開きます。$ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnvHyperConvergedリソースの spec セクションにdataImportCronTemplateを追加し、storageClassNameを設定します。apiVersion: hco.kubevirt.io/v1beta1 kind: HyperConverged metadata: name: kubevirt-hyperconverged spec: dataImportCronTemplates: - metadata: name: rhel9-image-cron spec: template: spec: storage: storageClassName: <storage_class> schedule: "0 */12 * * *" managedDataSource: <data_source> # ...-
spec.dataImportCronTemplates.spec.template.spec.storage.storageClassNameは、ストレージクラスを指定します。 -
spec.dataImportCronTemplates.spec.scheduleは、cron 形式でジョブのスケジュールを指定する必須フィールドです。 spec.dataImportCronTemplates.spec.managedDataSourceは、使用するデータソースを指定する必須フィールドです。注記カスタムイメージが使用可能なブートソースとして検出されるためには、仮想マシンテンプレート内の
spec.dataVolumeTemplates.spec.sourceRef.nameパラメーターの値がこの値と一致する必要があります。
-
- HyperConverged Operator (HCO) と Scheduling、Scale、および Performance (SSP) リソースのリコンシリエーションが完了するまで待ちます。
次のコマンドを実行して、
openshift-virtualization-os-imagesnamespace から古くなったDataVolumeおよびVolumeSnapshotオブジェクトを削除します。$ oc delete DataVolume,VolumeSnapshot -n openshift-virtualization-os-images --selector=cdi.kubevirt.io/dataImportCronすべての
DataSourceオブジェクトが "Ready - True" ステータスに達するまで待機します。データソースは、PersistentVolumeClaim (PVC) または VolumeSnapshot のいずれかを参照できます。予想されるソース形式を確認するには、次のコマンドを実行します。$ oc get storageprofile <storage_class_name> -o json | jq .status.dataImportCronSourceFormat