5.2. 配置自动工作负载更新

重要

自动更新工作负载只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

5.2.1. 配置工作负载更新方法

您可以通过编辑 HyperConverged 自定义资源(CR)来配置工作负载更新方法。

先决条件

  • 要使用实时迁移作为更新方法,您必须首先在集群中启用实时迁移。

    注意

    如果 VirtualMachineInstance CR 包含 evictionStrategy: LiveMigrate,且虚拟机实例(VMI)不支持实时迁移,则 VMI 将不会更新。

流程

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

    $ oc edit hco -n openshift-cnv kubevirt-hyperconverged
  2. 编辑 HyperConverged CR 的 workloadUpdateStrategy 小节。例如:

    apiVersion: hco.kubevirt.io/v1beta1
    kind: HyperConverged
    metadata:
      name: kubevirt-hyperconverged
    spec:
      workloadUpdateStrategy:
        workloadUpdateMethods: 1
        - LiveMigrate 2
        - Evict 3
        batchEvictionSize: 10 4
        batchEvictionInterval: "1m0s" 5
    ...
    1
    可用于执行自动化工作负载更新的方法。可用值为 LiveMigrateEvict。如果您如本例所示启用这两个选项,则更新会为不支持实时迁移的 VMI 使用 LiveMigrate,对于不支持实时迁移的 VMI 使用 Evict。要禁用自动工作负载更新,您可以删除 workloadUpdateStrategy 小节,或设置 workloadUpdateMethods: [] 将数组留空。
    2
    具有最低破坏性的更新方法。支持实时迁移的 VMI 通过将虚拟机 (VM) 客户机迁移到启用了更新组件的新 pod 中来更新。如果 LiveMigrate 是唯一列出的工作负载更新方法,不支持实时迁移的 VMI 不会中断或更新。
    3
    在升级过程中关闭 VMI pod 是一个有破坏性的方法。如果在集群中没有启用实时迁移,Evict 是唯一可用的更新方法。如果 VMI 由已配置了 runStrategy: alwaysVirtualMachine 对象控制,新的 VMI 会在带有更新组件的新 pod 中创建。
    4
    使用 Evict 方法每次可以强制更新的 VMI 数量。这不适用于 LiveMigrate 方法。
    5
    驱除下一批工作负载前等待的时间间隔。这不适用于 LiveMigrate 方法。
    注意

    您可以通过编辑 HyperConverged CR 的 spec.liveMigrationConfig 小节来配置实时迁移限制和超时。

  3. 若要应用您的更改,请保存并退出编辑器。