安装

为了让项目人员能够充分利用容器平台中的虚拟化功能,平台管理员必须执行以下操作来准备虚拟化环境。

NOTE

从 ACP 4.5 开始,Alauda Container Platform Virtualization for KubeVirt 更名为 Alauda Virtualization。从 Customer Portal 下载插件时,请搜索 Alauda Virtualization。在重命名之前发布的插件软件包上传后,平台中仍会显示 Alauda Container Platform Virtualization for KubeVirt。

前提条件

  • 下载与平台架构对应的 Alauda Virtualization(之前称为 Alauda Container Platform Virtualization for KubeVirt)安装软件包。

  • 使用上架软件包机制上传 Alauda Virtualization(之前称为 Alauda Container Platform Virtualization for KubeVirt)安装软件包。

  • 使用虚拟化功能时,需要提前规划并准备网络和存储环境。

    注意:

    • 如果需要通过 IP 直接连接虚拟机,集群必须使用 Kube-OVN Underlay 网络模式。可参考最佳实践准备 Kube-OVN Underlay 物理网络。

    • 建议将 TopoLVM 与 Kubevirt 结合使用,因为它可以提供接近硬件级别的性能。如果性能要求不高,也可以使用 Ceph 分布式存储。

      存储产品描述
      TopoLVM优点:相对轻量,性能良好。
      缺点:无法跨节点使用,可靠性较低,且无法提供冗余。
      Ceph 分布式存储优点:可跨节点使用,具备高可用性和冗余能力。
      缺点:冗余磁盘副本会导致利用率较低;性能较差。
      • 如果使用 TopoLVM 并配置了多个磁盘,请确保启用虚拟化的节点上的剩余存储容量能够满足多个磁盘的总容量;否则,虚拟机创建将失败。

      • 如果使用 Ceph 分布式存储,请确保存储所在的网络与虚拟机所在的网络能够相互通信。

操作步骤

启用节点虚拟化

当自建集群的节点为物理机时,可以通过启用或禁用节点虚拟化开关,控制是否允许 Kubernetes 在该节点上调度 Virtual Machine Instances(VMIs)。

  • 启用开关后,允许将新创建的虚拟机调度到物理机节点上;Windows 物理节点不支持启用虚拟化。

  • 禁用开关后,将阻止新创建的虚拟机调度到物理机节点上,但不会影响已在该节点上运行的虚拟机。

操作步骤

  1. 进入管理员。

  2. 在左侧导航栏中,单击集群管理 > 集群。

  3. 单击自建集群名称。

  4. 在节点页签中,单击要设置虚拟化开关的节点右侧的 ⋮ > 启用虚拟化。

  5. 单击确认。

部署 operator

  1. 登录并进入管理员页面。

  2. 单击 Marketplace > OperatorHub,进入 OperatorHub 页面。

  3. 找到 Alauda Virtualization(对于重命名前发布的软件包,显示为 Alauda Container Platform Virtualization for KubeVirt),单击安装,进入安装 Alauda Virtualization页面(对于此类软件包,页面显示为安装 Alauda Container Platform Virtualization for KubeVirt)。

    配置参数:

    参数推荐配置
    Channel默认 channel 为 alpha。
    安装模式Cluster:集群中的所有命名空间共享单个 operator 进行创建和管理,从而降低资源使用量。
    安装位置选择 Recommended,Namespace 仅支持 kubevirt。
    升级策略Manual:当 Operator Hub 中有新版本时,需要手动确认将 operator 升级到最新版本。

创建 HyperConverged 实例

  1. 进入管理员。

  2. 单击 Marketplace > OperatorHub。

  3. 找到 Alauda Virtualization(对于重命名前发布的软件包,显示为 Alauda Container Platform Virtualization for KubeVirt),单击该软件包进入 Alauda Virtualization 详细信息页面(对于此类软件包,页面显示为 Alauda Container Platform Virtualization for KubeVirt)。

  4. 单击所有实例

  5. 在 HyperConverged 实例卡片上单击创建实例。

    注意:每个集群中只需创建一个 HyperConverged 实例。

  6. 切换到 YAML 视图,仅将示例中 spec.storageImport.insecureRegistries 字段指定的 占位符 替换为正确的虚拟机镜像仓库地址,例如:192.168.16.214:60080,其他参数保持默认值。

    spec:
      storageImport:
        insecureRegistries:
        - placeholder

    替换结果:

    spec:
      storageImport:
        insecureRegistries:
        - "192.168.16.214:60080"
  7. 单击创建,等待 CDI 和 KubeVirt 类型的实例自动创建到资源列表中,同时确保 YAML 中显示的 status.phase 为 deployed,表示 HyperConverged 实例已成功创建。

配置虚拟机超售比(可选)

  • 在集群管理 > 集群中,为虚拟机所在的集群配置超售比。
  • 或在项目管理 > 命名空间中,为虚拟机所在的命名空间配置超售比。

重要说明

  • 虚拟机仅支持 CPU 超售比,建议配置值介于 2 和 4 之间。

  • 为虚拟机启用超售比后,创建虚拟机时,容器的 request 值(requests)将固定为指定的 limit 值(limits)/ 虚拟机超售比,因此用户通过 YAML 设置的 request 将不会生效。

    例如:假设虚拟机的 CPU 资源超售比设置为 4,如果用户在创建虚拟机时指定 CPU limit 值为 4c,则 CPU request 值将为 4c/4 = 1c。

资源配额说明

虚拟机的内存资源配额受其所在命名空间的内存资源配额限制。由于承载虚拟机的 Pod 的内存通常大于虚拟机实际可用的内存,建议预留 20% 的资源。当命名空间中剩余的可用资源低于 20% 时,请及时扩容。