4.7. 已知问题


  • 您无法在单堆栈 IPv6 集群上运行 OpenShift Virtualization。(BZ#2193267)
  • 在具有不同计算节点的异构集群中,启用了 HyperV Reenlightenment 的虚拟机无法调度到不支持时间戳扩展 (TSC) 或具有适当 TSC 频率的节点。(BZ#2151169)
  • 当您使用具有不同 SELinux 上下文的两个 pod 时,带有 ocs-storagecluster-cephfs 存储类的虚拟机无法迁移,虚拟机状态变为 Paused。这是因为两个 pod 会尝试同时访问共享 ReadWriteMany CephFS 卷。(BZ#2092271)

    • 作为临时解决方案,使用 ocs-storagecluster-ceph-rbd 存储类在使用 Red Hat Ceph Storage 的集群上实时迁移虚拟机。
  • 如果您在不更新 OpenShift Virtualization 的情况下将 OpenShift Container Platform 更新至版本 4.11,则恢复虚拟机快照会失败。这是因为用于快照对象的 API 版本不匹配。(BZ#2159442)

    • 作为临时解决方案,将 OpenShift Virtualization 更新至与 OpenShift Container Platform 相同的次版本。要确保版本保持同步,请使用推荐的自动批准策略
  • 卸载 OpenShift Virtualization 不会删除 OpenShift Virtualization 创建的节点标签。您必须手动删除标签。(CNV-22036)
  • 如果您创建了大量 NodePort 服务,则 OVN-Kubernetes 集群网络供应商会在出现峰值 RAM 和 CPU 使用时崩溃。如果您使用 NodePort 服务向大量虚拟机公开 SSH 访问,会出现这种情况。(OCPBUGS-1940)

    • 作为临时解决方案,如果要通过 NodePort 服务向大量虚拟机公开 SSH 访问,请使用 OpenShift SDN 集群网络供应商。
  • 从 4.10 升级到 OpenShift Virtualization 4.11 被阻止,直到安装独立了 Kubernetes NMState Operator。即使集群配置不使用任何 nmstate 资源,也会发生这种情况。(BZ#2126537)

    • 作为临时解决方案:

      1. 验证集群中没有定义节点网络配置策略:

        $ oc get nncp
      2. 选择更新 OpenShift Virtualization 的适当方法:

        1. 如果节点网络配置策略列表不为空,请退出此流程并安装 Kubernetes NMState Operator 来保留并支持现有的 nmstate 配置。
        2. 如果列表为空,则转到第 3 步。
      3. 注解 HyperConverged 自定义资源 (CR)。以下命令覆盖任何现有 JSON 补丁:

        $ oc annotate --overwrite -n openshift-cnv hco kubevirt-hyperconverged 'networkaddonsconfigs.kubevirt.io/jsonpatch=[{"op": "replace","path": "/spec/nmstate", "value": null}]'
        注意

        在应用此补丁时,HyperConverged 对象会报告 TaintedConfiguration 条件。这是 benign。

      4. 更新 OpenShift Virtualization。
      5. 更新完成后,运行以下命令来删除注解:

        $ oc annotate -n openshift-cnv hco kubevirt-hyperconverged networkaddonsconfigs.kubevirt.io/jsonpatch-
      6. 可选:添加任何覆盖的之前配置的 JSON 补丁。
  • Containerized Data Importer (CDI) 创建的一些持久性卷声明 (PVC) 注解可能会导致虚拟机快照恢复操作无限期挂起。(BZ#2070366)

    • 作为临时解决方案,您可以手动删除注解:

      1. VirtualMachineSnapshot CR 中的 status.virtualMachineSnapshotContentName 值获取 VirtualMachineSnapshotContent 自定义资源 (CR) 名称。
      2. 编辑 VirtualMachineSnapshotContent CR,并删除包含 k8s.io/cloneRequest 的所有行。
      3. 如果您没有在 VirtualMachine 对象中为 spec.dataVolumeTemplates 指定值,请删除此命名空间中的所有 DataVolumePersistentVolumeClaim 对象,其中这两个对象都满足以下条件:

        1. 对象的名称以 restore- 开头。
        2. 不被虚拟机引用的对象。

          如果为 spec.dataVolumeTemplates 指定了值,则此步骤是可选的。

      4. 使用更新的 VirtualMachineSnapshot CR 重复恢复操作
  • Windows 11 虚拟机不会在以 FIPS 模式运行的集群上引导。Windows 11 默认需要一个 TPM (可信平台模块)设备。但是,swtpm(软件 TPM 模拟器)软件包与 FIPS 不兼容。(BZ#2089301)
  • 在单节点 OpenShift(SNO)集群中,在从驱除策略设置为 LiveMigrate 的通用模板中创建的虚拟机上会发生 VMCannotBeEvicted 警报。(BZ#2092412)
  • Fedora 35 虚拟机上的 QEMU 客户机代理受 SELinux 阻止,且不会报告数据。其他 Fedora 版本可能会受到影响。(BZ#2028762)

    • 作为临时解决方案,请在虚拟机上禁用 SELinux,运行 QEMU 客户机代理命令,然后重新启用 SELinux。
  • 如果您的 OpenShift Container Platform 集群使用 OVN-Kubernetes 作为默认 Container Network Interface(CNI)供应商,则无法将 Linux 网桥或绑定设备附加到主机的默认接口,因为 OVN-Kubernetes 的主机网络拓扑发生了变化。(BZ#1885605)

    • 作为临时解决方案,您可以使用连接到主机的二级网络接口,或切换到 OpenShift SDN 默认 CNI 供应商。
  • 如果您使用 Red Hat Ceph Storage 或 Red Hat OpenShift Data Foundation Storage,则一次克隆超过 100 个虚拟机可能会失败。(BZ#1989527)

    • 作为临时解决方案,您可以通过在存储配置集清单中设置 spec.cloneStrategy: copy 来执行主机辅助副本。例如:

      apiVersion: cdi.kubevirt.io/v1beta1
      kind: StorageProfile
      metadata:
        name: <provisioner_class>
      #   ...
      spec:
        claimPropertySets:
        - accessModes:
          - ReadWriteOnce
          volumeMode: Filesystem
        cloneStrategy: copy 1
      status:
        provisioner: <provisioner>
        storageClass: <provisioner_class>
      1
      默认克隆方法设置为 copy
  • 在某些情况下,多个虚拟机可以以读写模式挂载相同的 PVC,这可能会导致数据崩溃。(BZ#1992753)

    • 作为临时解决方案,请避免在使用多个虚拟机的读写模式中使用单个 PVC。
  • Pod Disruption Budget(PDB)可防止 pod 意外中断。如果 PDB 检测到 pod 中断,则 openshift-monitoring 会每 60 分钟发送 PodDisruptionBudgetAtLimit 警报,以使用 LiveMigrate 驱除策略。(BZ#2026733)

  • OpenShift Virtualization 将 pod 使用的服务帐户令牌链接到该特定 pod。OpenShift Virtualization 通过创建包含令牌的磁盘镜像来实施服务帐户卷。如果您迁移虚拟机,则服务帐户卷无效。(BZ#2037611)

    • 作为临时解决方案,使用用户帐户而不是服务帐户,因为用户帐户令牌没有绑定到特定 pod。
  • 如果您将 HyperConverged 自定义资源(CR)配置为在安装驱动程序前启用介质设备,新的设备配置不会生效。更新可能会触发此问题。例如,如果在 daemonset 之前更新 virt-handler,它安装 NVIDIA 驱动程序,则节点无法提供虚拟机 GPU。(BZ#2046298)

    • 作为临时解决方案:

      1. HyperConverged CR 中删除 mediatedDevicesConfigurationpermittedHostDevices
      2. 使用您要使用的配置更新 mediatedDevicesConfigurationpermittedHostDevices 小节。
  • 如果您使用 csi-clone 克隆策略克隆超过 100 个虚拟机,则 Ceph CSI 可能无法清除克隆。手动删除克隆也会失败。(BZ#2055595)

    • 作为临时解决方案,您可以重启 ceph-mgr 来清除虚拟机克隆。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.