11.18.13.5. 为用户定义的引导源启用自动更新
OpenShift Virtualization 默认自动更新系统定义的引导源,但不会自动更新用户定义的引导源。您必须通过编辑 HyperConverged 自定义资源 (CR) 在用户定义的引导源上手动启用自动导入和更新。
流程
使用以下命令打开
HyperConvergedCR 进行编辑:$ oc edit -n openshift-cnv HyperConverged编辑
HyperConvergedCR,在dataImportCronTemplates部分添加适当的模板和引导源。例如:CentOS 7 中的示例
apiVersion: hco.kubevirt.io/v1beta1 kind: HyperConverged metadata: name: kubevirt-hyperconverged spec: dataImportCronTemplates: - metadata: name: centos7-image-cron annotations: cdi.kubevirt.io/storage.bind.immediate.requested: "true" spec: schedule: "0 */12 * * *" template: spec: source: registry: url: docker://quay.io/containerdisks/centos:7-2009 storage: resources: requests: storage: 10Gi managedDataSource: centos7 retentionPolicy: "None"-
spec.dataImportCronTemplates.metadata.annotations指定将volumeBindingMode设置为WaitForFirstConsumer的存储类所需的注解。 -
spec.dataImportCronTemplates.spec.schedule指定作业的调度,以 cron 格式指定。 -
spec.dataImportCronTemplates.spec.template.spec.source.registry指定用于创建数据卷的 registry 源。使用默认podpullMethod而不是节点pullMethod,这基于节点docker 缓存。当 registry 镜像通过Container.Image可用时,节点docker 缓存很有用,但 CDI 导入程序没有授权访问它。 -
spec.dataImportCronTemplates.spec.managedDataSource指定受管数据源的名称。要使自定义镜像被检测到为可用的引导源,镜像的managedDataSource的名称必须与模板的DataSource的名称匹配,它在 VM 模板 YAML 文件中的spec.dataVolumeTemplates.spec.sourceRef.name下找到。 -
spec.dataImportCronTemplates.spec.retentionPolicy指定在删除 cron 任务后是否保留数据卷和数据源。使用All来保留数据卷和数据源。使用None删除数据卷和数据源。
-
- 保存该文件。