创建虚拟机/虚拟机组

使用镜像创建虚拟机(VirtualMachineInstance),并将虚拟机调度到已安装 Kubevirt 组件且启用虚拟化的物理节点上。

您可以通过创建虚拟机创建单个虚拟机,也可以通过创建虚拟机组(virtualMachinePool)快速创建多个配置相同的虚拟机(VirtualMachineInstance)。

前提条件

  • 在使用镜像创建虚拟机前,请与平台管理员确认以下事项:

    • 目标集群为自建集群,且已部署 Kubevirt 组件。

    • 目标节点必须为启用虚拟化的物理节点。

    • 已将虚拟机镜像添加至平台。

  • 如果需要使用虚拟机的物理 GPU 直通功能,请联系平台管理员进行以下配置:

    1. 获取 GPU 直通环境准备方案并准备所需环境。

    2. 准备所需的物理 GPU,并为虚拟机启用物理 GPU 直通相关功能。

注意事项

使用 Windows 虚拟机时,仅支持通过虚拟机镜像中设置的用户名/密码登录。请提前联系平台管理员获取相关信息。

创建虚拟机

操作步骤

注意:以下内容以表单方式创建虚拟机为例,您也可以切换为 YAML 格式进行操作。

  1. 进入 容器平台

  2. 在左侧导航栏点击 虚拟化 > 虚拟机

  3. 点击 创建虚拟机

  4. 基本信息 区域,填写虚拟机名称和显示名称,并设置标签或注解。

    参数说明
    标签用于选择对象和查找符合条件的对象集合。必须为键值对,例如:app.kubernetes.io/name: hello-app
    注解用于向开发和运维团队提供任何信息。必须为键值对,例如:cpaas.io/maintainer: kim
  5. 设置机器类型并选择虚拟机镜像。

    参数说明
    规格可根据需求选择推荐使用场景或自定义资源限制。
    物理 GPU(Alpha)选择物理 GPU 型号;每台虚拟机仅能分配一个物理 GPU。

    注意:虚拟机物理 GPU 直通是指在虚拟化环境中将实际的图形处理单元(GPU)直接分配给虚拟机,使其能够直接访问和利用物理 GPU,实现图形性能等同于直接运行在物理机上,避免虚拟图形适配器带来的性能瓶颈,提升整体性能。
    镜像选择平台管理员分配给平台项目的公共镜像。
    注意:仅支持选择与集群架构相同CPU 架构的镜像。
  6. 存储 区域,参照以下说明配置相关信息。

    参数说明
    磁盘名称存储磁盘名称;系统盘名称不可修改。
    类型
    • 根磁盘:系统自动创建 VirtIO 类型的 rootfs 系统盘,用于存储操作系统和数据。
    • 数据盘:点击添加多个数据盘用于持久化数据存储,默认为 VirtIO 设备。
    注意:数据盘名称不得与已有磁盘名称重复。
    卷模式
    • 文件系统:将磁盘挂载为挂载文件目录。
    • 块设备:将磁盘挂载为块设备。
    存储类平台通过创建和管理持久卷声明来维护虚拟机磁盘,需指定用于动态创建持久卷声明的存储类。
    不同存储类支持不同的卷模式;若所选卷模式无可用存储类,请联系管理员添加。
    容量虚拟机存储所需容量;系统盘最小为 20 G。
    随虚拟机删除默认为启用,且不可修改,表示删除虚拟机时磁盘数据也会被删除。
  7. 网络 区域,参照以下说明配置相关信息。

    参数说明
    IP 地址
    • 默认选择 动态(DHCP);虚拟机启动时动态分配 IP,虚拟机停止时释放 IP。
    • 若绑定静态 IP,虚拟机重启后仍使用该 IP 地址。若当前项目无可用 IP,请先适当释放 IP。
    网络模式
    • 桥接:虚拟机与容器组共享同一 IP 地址,通过该 IP 地址对外通信。
    • NAT:虚拟机分配内部 IP 地址,但对外通信时会转换为容器组 IP 地址。开放端口指虚拟机暴露的端口,如 SSH 服务端口 22;不填写开放端口表示所有端口均开放。
    辅助网卡根据需要添加辅助网卡。
    注意
    • 若需要辅助网卡功能或无可用辅助网卡网络类型,请联系平台管理员配置。
    • SR-IOV 类型仅支持 x86_64 架构的 Linux 操作系统。
    • 默认通过 DHCP 获取 IP 地址。
    • 多次重启后,SR-IOV 虚拟机可能出现两个不同 VF 但 MAC 地址相同的情况。
  8. 初始化设置 区域,参照以下说明配置相关信息。

    参数说明
    密钥始终使用 SSH 密钥进行远程登录验证。此方式无需密码验证,推荐使用密钥登录虚拟机。
    • 可使用平台已有密钥或立即创建新密钥;所有相关密钥可在 虚拟化 > 密钥对 页面查看。
    • 仅持有私钥的人员可通过 SSH 访问虚拟机。若多人共同维护虚拟机,可关联多个密钥,并分配私钥给不同用户。若密钥泄露,可及时撤销关联密钥以减少损失。
    • SSH 密钥的公钥以保密形式存储于平台,平台不存储您的私钥,请自行妥善保管。
    • 请参考相关操作系统文档获取 root 用户密码。
    密码使用操作系统用户及密码进行登录验证,后续仍可更新为密钥方式。
    • 该用户仅为初始账户;虚拟机创建成功后,您也可在虚拟机内创建其他操作系统用户进行登录。
    • 平台加密存储您的 root 用户密码,您将无法再次查看明文密码,请自行妥善保管。
    立即启动默认为启用。启用后虚拟机创建完成后立即启动,否则仅创建虚拟机。
  9. (可选)在 高级配置 区域,参照以下说明配置相关信息。

    参数说明
    健康检查
    • 存活检查:检测虚拟机是否处于健康状态;若检测结果异常,将根据健康检查配置判断是否重启实例。
    • 可用性检查:检测虚拟机是否完成启动并处于正常服务状态;若虚拟机实例健康状态异常,将更新虚拟机状态。

    相关参数说明请参见文档。
    节点亲和性
    • 首选:虚拟机尽可能调度到满足亲和性要求的节点。系统将结合亲和性权重及其他调度需求(如计算资源需求)确定可运行虚拟机的节点。
    • 必需:虚拟机仅调度到完全满足亲和性要求的节点。
  10. 确认信息无误后,点击 创建

    等待虚拟机状态从 创建中 变为 运行中

相关操作

您可以点击列表页右侧的 ⋮ 图标或详情页右上角的 操作,根据需要更新或删除虚拟机。有关重置密码或更新密钥等其他相关操作,请参见管理虚拟机

注意

  • 仅当虚拟机处于 异常未知已停止 状态时,才支持更新操作。

  • 更新操作不支持显示虚拟机创建后单独挂载或创建的磁盘。

  • 更新时默认立即启动为禁用状态,您可根据需要启用。

创建虚拟机组

操作步骤

注意:以下内容以表单方式创建虚拟机组为例,您也可以切换为 YAML 格式进行操作。

  1. 进入 容器平台

  2. 在左侧导航栏点击 虚拟化 > 虚拟机组

  3. 点击 创建虚拟机组

  4. 基本信息 区域,参照以下说明配置虚拟机组信息。

    参数说明
    实例数量虚拟机组创建的虚拟机数量。
    实例间反亲和性启用后,在调度多个虚拟机到节点时,会尽量将虚拟机分布到不同节点,提升虚拟机组的高可用性。
    标签可为虚拟机组添加标签。标签用于选择对象和查找符合条件的对象集合。必须为键值对,例如:app.kubernetes.io/name: hello-app
  5. 虚拟机模板 区域,参照创建虚拟机为组内所有虚拟机统一配置标签、注解、规格、镜像、存储等信息。

  6. 确认信息无误后,点击 创建

    提示:创建成功后,您可以进入 虚拟机 列表页查看通过虚拟机组创建的虚拟机信息。