9.3.2. 管理自定义引导源更新


不是由 OpenShift Virtualization 提供的自定义引导源不受功能门控制。您必须通过编辑 HyperConverged 自定义资源 (CR) 来单独管理它们。

重要

您必须配置存储类。否则,集群无法接收自定义引导源的自动更新。详情请参阅定义一个存储类

9.3.2.1. 为自定义引导源更新配置存储类

您可以通过编辑 HyperConverged 自定义资源 (CR) 来覆盖默认存储类。

重要

引导源使用默认存储类从存储创建。如果您的集群没有默认存储类,则必须在为自定义引导源配置自动更新前定义一个。

流程

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

    $ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
  2. 通过在 storageClassName 字段中输入值来定义新的存储类:

    apiVersion: hco.kubevirt.io/v1beta1
    kind: HyperConverged
    metadata:
      name: kubevirt-hyperconverged
    spec:
      dataImportCronTemplates:
      - metadata:
          name: rhel8-image-cron
        spec:
          template:
            spec:
              storageClassName: <new_storage_class> 
    1
    
          schedule: "0 */12 * * *" 
    2
    
          managedDataSource: <data_source> 
    3
    
    # ...
    1
    定义存储类。
    2
    必需:以 cron 格式指定的作业调度。
    3
    必需:要使用的数据源。
    For the custom image to be detected as an available boot source, the value of the `spec.dataVolumeTemplates.spec.sourceRef.name` parameter in the VM template must match this value.
  3. 从当前的默认存储类中删除 storageclass.kubernetes.io/is-default-class 注解。

    1. 运行以下命令,检索当前默认存储类的名称:

      $ oc get storageclass

      输出示例

      NAME                          PROVISIONER                      RECLAIMPOLICY  VOLUMEBINDINGMODE    ALLOWVOLUMEEXPANSION  AGE
      csi-manila-ceph               manila.csi.openstack.org         Delete         Immediate            false                 11d
      hostpath-csi-basic (default)  kubevirt.io.hostpath-provisioner Delete         WaitForFirstConsumer false                 11d 
      1

      1
      在本例中,当前的默认存储类名为 hostpath-csi-basic
    2. 运行以下命令,从当前默认存储类中删除注解:

      $ oc patch storageclass <current_default_storage_class> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}' 
      1
      1
      <current_default_storage_class> 替换为默认存储类的 storageClassName 值。
  4. 运行以下命令,将新存储类设置为默认值:

    $ oc patch storageclass <new_storage_class> -p '{"metadata":{"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}' 
    1
    1
    <new_storage_class> 替换为添加到 HyperConverged CR 中的 storageClassName 值。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部