11.3.3. 为引导源镜像配置存储类
您可以在 HyperConverged 资源中配置特定的存储类。
为确保稳定的行为并避免不必要的重新导入,您可以在 HyperConverged 资源的 dataImportCronTemplates 部分中指定 storageClassName。
先决条件
-
已安装 OpenShift CLI(
oc)。
流程
运行以下命令,在默认编辑器中打开
HyperConvergedCR:$ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv将
dataImportCronTemplate添加到HyperConverged资源的 spec 部分,并设置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是一个必填字段,用于指定要使用的数据源。注意对于被检测到作为可用的引导源的定义镜像,VM 模板中的
spec.dataVolumeTemplates.spec.sourceRef.name参数的值必须与此值匹配。
-
- 等待 HyperConverged Operator (HCO)和 Scheduling、Scale 和 Performance (SSP)资源完成协调。
运行以下命令,从
openshift-virtualization-os-images命名空间中删除所有过时的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