创建虚拟机/虚拟机组

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

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

前提条件

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

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

    • 目标节点需为物理机节点,并开启虚拟化。

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

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

    1. 获取 GPU 直通环境准备方案,并准备相关环境。

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

注意事项

使用 Windows 虚拟机时,仅支持通过虚拟机镜像中设置的 账号/密码 登录,请事先联系平台管理员获取。

创建虚拟机

操作步骤

说明:下述内容以表单方式创建虚拟机为例,您也可切换至 YAML 方式完成操作。

  1. 进入 Container Platform

  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. (可选)在 高级配置 区域,参考以下说明配置相关信息。

    参数说明
    健康检查
    • 存活性健康检查:检查虚拟机是否处于健康状态,如果检测结果为非正常时,会根据健康检查的配置决定是否重启实例。
    • 可用性健康检查:检查虚拟机是否启动完成并处于正常服务状态,如果检测到虚拟机实例的健康状态为非正常时,虚拟机状态会被更新。

    节点亲和
    • Preferred:虚拟机将被尽量调度到符合亲和要求的节点上。系统将结合亲和性权重与其它调度需求(例如计算资源需求)确定可运行虚拟机的节点。
    • Required:虚拟机只会被调度到完全符合亲和要求的节点上。
  10. 确认信息无误后,单击 创建

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

相关操作

您可以在列表页面单击右侧的 ⋮ 或在详情页面单击右上角的 操作,按需更新或删除虚拟机。重置密码、更新密钥等其它相关操作,请参见 管理虚拟机

注意

  • 仅当虚拟机为 异常未知已停止 状态时可执行更新操作。

  • 更新时不支持展示虚拟机创建完成后单独挂载或创建的磁盘。

  • 更新时 立即启动 默认为关闭状态,您可以按需开启。

创建虚拟机组

操作步骤

说明:下述内容以表单方式创建虚拟机组为例,您也可切换至 YAML 方式完成操作。

  1. 进入 Container Platform

  2. 在左侧导航栏中,单击 虚拟化 > 虚拟机组

  3. 单击 创建虚拟机组

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

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

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

    提示:创建成功后,可前往 虚拟机 的列表页面查看通过虚拟机组创建出的虚拟机的信息。