为了让项目人员充分利用容器平台内的虚拟化功能,平台管理员必须执行以下操作以准备虚拟化环境。
下载与您的平台架构对应的ACP Virtualization with KubeVirt安装包。
通过上架软件包机制上传该ACP Virtualization with KubeVirt安装包。
使用虚拟化功能时,需要提前规划和准备网络及存储环境。
注意:
如果需要通过 IP 直接连接虚拟机,集群必须使用 Kube-OVN Underlay 网络模式。您可以参考最佳实践准备 Kube-OVN Underlay 物理网络。
建议结合使用 TopoLVM 和 Kubevirt,因为它能提供接近硬件级别的性能。如果性能要求不高,也可以使用 Ceph 分布式存储。
| 存储产品 | 描述 |
|---|---|
| TopoLVM | 优点:相对轻量且性能良好。 缺点:不能跨节点使用,可靠性较低,无法提供冗余。 |
| Ceph 分布式存储 | 优点:可跨节点使用,高可用且具备冗余能力。 缺点:磁盘冗余副本导致利用率较低,性能较差。 |
如果使用 TopoLVM 并配置了多块磁盘,请确保启用虚拟化的节点剩余存储容量能满足多块磁盘的总容量,否则虚拟机创建会失败。
如果使用 Ceph 分布式存储,请确保存储所在网络与虚拟机所在网络能够互通。
当自建集群的节点为物理机时,可以通过启用或禁用节点虚拟化开关来控制是否允许 Kubernetes 在该节点上调度虚拟机实例(VMI)。
开启开关时,允许在物理机节点上调度新的虚拟机;Windows 物理节点不支持启用虚拟化。
关闭开关时,阻止在物理机节点上调度新的虚拟机,但不影响该节点上已运行的虚拟机。
进入管理员。
在左侧导航栏点击集群管理 > 集群。
点击自建集群名称。
在节点标签页,点击目标节点右侧的 ⋮ > 启用虚拟化。
点击确认。
登录,进入管理员页面。
点击Marketplace > OperatorHub进入OperatorHub页面。
找到ACP Virtualization with KubeVirt,点击安装,进入安装 ACP Virtualization with KubeVirt页面。
配置参数:
| 参数 | 推荐配置 |
|---|---|
| Channel | 默认通道为 alpha。 |
| 安装模式 | Cluster:集群内所有命名空间共享单个 Operator 实例进行创建和管理,资源占用较低。 |
| 安装位置 | 选择 Recommended,命名空间仅支持 kubevirt。 |
| 升级策略 | Manual:当 Operator Hub 有新版本时,需要手动确认升级 Operator 到最新版本。 |
进入管理员。
点击Marketplace > OperatorHub。
找到ACP Virtualization with KubeVirt,点击进入ACP Virtualization with KubeVirt详情页。
点击所有实例
在HyperConverged实例卡片上点击创建实例。
注意:每个集群只需创建一个HyperConverged实例。
切换到 YAML 视图,仅将示例中 spec.storageImport.insecureRegistries 字段内的 placeholder 替换为正确的虚拟机镜像仓库地址,例如:192.168.16.214:60080,其他参数保持默认值。
替换结果:
点击创建,等待资源列表中自动创建 CDI 和 KubeVirt 类型实例,同时确保 YAML 中显示的 status.phase 为 deployed,表示 HyperConverged 实例创建成功。
虚拟机仅支持 CPU 超售比,推荐配置值为 2 到 4 之间。
一旦为虚拟机启用超售比,创建虚拟机时容器的请求值(requests)固定为指定限制值(limits)/ 虚拟机超售比,用户通过 YAML 设置的请求值将无效。
例如:假设虚拟机 CPU 资源超售比设置为 4,用户创建虚拟机时指定 CPU 限制值为 4c,则 CPU 请求值为 4c/4 = 1c。
虚拟机的内存资源配额受其所在命名空间的内存资源配额限制。由于承载虚拟机的 Pod 内存通常大于虚拟机实际可用内存,建议预留 20% 的资源。当命名空间剩余可用资源低于 20% 时,请及时扩容资源。