9.3.2.2. 为自定义引导源启用自动更新
OpenShift Virtualization 默认自动更新系统定义的引导源,但不会自动更新自定义引导源。您必须通过编辑 HyperConverged 自定义资源 (CR) 手动启用自动更新。
先决条件
- 集群有一个默认存储类。
流程
运行以下命令,在默认编辑器中打开
HyperConvergedCR:$ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv编辑
HyperConvergedCR,在dataImportCronTemplates部分添加适当的模板和引导源。例如:自定义资源示例
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"1 spec: schedule: "0 */12 * * *"2 template: spec: source: registry:3 url: docker://quay.io/containerdisks/centos:7-2009 storage: resources: requests: storage: 10Gi managedDataSource: centos74 retentionPolicy: "None"5 - 1
- 对于将
volumeBindingMode设置为WaitForFirstConsumer的存储类来说,这个注解是必需的。 - 2
- 以 cron 格式指定的作业调度计划。
- 3
- 用于从 registry 源创建数据卷。使用默认
podpullMethod而不是节点pullMethod,这基于节点docker 缓存。当 registry 镜像通过Container.Image可用时,节点docker 缓存很有用,但 CDI 导入程序没有授权访问它。 - 4
- 要使自定义镜像被检测到为可用的引导源,镜像的
managedDataSource的名称必须与模板的DataSource的名称匹配,它在 VM 模板 YAML 文件中的spec.dataVolumeTemplates.spec.sourceRef.name下找到。 - 5
- 在删除 cron 作业时,使用
All来保留数据卷和数据源。删除 cron 作业时,使用None删除数据卷和数据源。
- 保存该文件。