9.3.2.2. 为自定义引导源启用自动更新


OpenShift Virtualization 默认自动更新系统定义的引导源,但不会自动更新自定义引导源。您必须通过编辑 HyperConverged 自定义资源 (CR) 手动启用自动更新。

先决条件

  • 集群有一个默认存储类。

流程

  1. 运行以下命令,在默认编辑器中打开 HyperConverged CR:

    $ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
  2. 编辑 HyperConverged CR,在 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: centos7 
    4
    
          retentionPolicy: "None" 
    5

    1
    对于将 volumeBindingMode 设置为 WaitForFirstConsumer 的存储类来说,这个注解是必需的。
    2
    以 cron 格式指定的作业调度计划。
    3
    用于从 registry 源创建数据卷。使用默认 pod pullMethod 而不是 节点 pullMethod,这基于 节点 docker 缓存。当 registry 镜像通过 Container.Image 可用时,节点 docker 缓存很有用,但 CDI 导入程序没有授权访问它。
    4
    要使自定义镜像被检测到为可用的引导源,镜像的 managedDataSource 的名称必须与模板的 DataSource 的名称匹配,它在 VM 模板 YAML 文件中的 spec.dataVolumeTemplates.spec.sourceRef.name 下找到。
    5
    在删除 cron 作业时,使用 All 来保留数据卷和数据源。删除 cron 作业时,使用 None 删除数据卷和数据源。
  3. 保存该文件。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部