×

无论您使用 AWS 上的 Red Hat OpenShift Service Web 控制台还是 CLI 创建虚拟机,都可以使用实例类型简化虚拟机 (VM) 创建。

在 OpenShift Virtualization 4.15 及更高版本中,从实例类型创建虚拟机在 AWS 上的 Red Hat OpenShift Service 集群中受支持。在 OpenShift Virtualization 4.14 中,从实例类型创建虚拟机是技术预览功能,并且在 AWS 上的 Red Hat OpenShift Service 集群中不受支持。

关于实例类型

实例类型是一个可重用的对象,您可以在其中定义要应用于新虚拟机的资源和特性。您可以定义自定义实例类型,也可以使用安装 OpenShift Virtualization 时包含的各种实例类型。

要创建新的实例类型,您必须首先创建一个清单,可以通过手动方式或使用 `virtctl` CLI 工具来完成。然后,您可以通过将清单应用到集群来创建实例类型对象。

OpenShift Virtualization 提供两个 CRD 用于配置实例类型:

  • 命名空间对象:`VirtualMachineInstancetype`

  • 集群范围对象:`VirtualMachineClusterInstancetype`

这些对象使用相同的 `VirtualMachineInstancetypeSpec`。

必需属性

配置实例类型时,必须定义 `cpu` 和 `memory` 属性。其他属性是可选的。

从实例类型创建虚拟机时,您不能覆盖实例类型中定义的任何参数。

由于实例类型需要定义的 CPU 和内存属性,因此在从实例类型创建虚拟机时,OpenShift Virtualization 始终会拒绝对这些资源的额外请求。

您可以手动创建一个实例类型清单。例如:

包含必需字段的示例 YAML 文件
apiVersion: instancetype.kubevirt.io/v1beta1
kind: VirtualMachineInstancetype
metadata:
  name: example-instancetype
spec:
  cpu:
    guest: 1 (1)
  memory:
    guest: 128Mi (2)
1 必需。指定分配给客户机的 vCPU 数量。
2 必需。指定分配给客户机的内存量。

您可以使用 `virtctl` CLI 实用程序创建实例类型清单。例如:

包含必需字段的示例 `virtctl` 命令
$ virtctl create instancetype --cpu 2 --memory 256Mi

其中:

--cpu <value>

指定分配给客户机的 vCPU 数量。必需。

--memory <value>

指定分配给客户机的内存量。必需。

您可以通过运行以下命令立即从新清单创建对象:

$ virtctl create instancetype --cpu 2 --memory 256Mi | oc apply -f -

可选属性

除了必需的 `cpu` 和 `memory` 属性外,您还可以将以下可选属性包含在 `VirtualMachineInstancetypeSpec` 中:

注释

应用于虚拟机的列表注释。

GPU

列出用于直通的 vGPU。

主机设备

列出用于直通的主机设备。

ioThreadsPolicy

定义用于管理专用磁盘访问的 IO 线程策略。

launchSecurity

配置安全加密虚拟化 (SEV)。

nodeSelector

指定节点选择器以控制调度此虚拟机的节点。

schedulerName

定义要为此虚拟机使用的自定义调度程序,而不是默认调度程序。

预定义实例类型

OpenShift Virtualization 包含一组称为 `common-instancetypes` 的预定义实例类型。有些专门用于特定工作负载,而另一些则与工作负载无关。

这些实例类型资源的命名方式与其系列、版本和大小相对应。大小值位于 `.` 分隔符之后,范围从 `nano` 到 `8xlarge`。

表 1. `common-instancetypes` 系列比较
用例 系列 特性 vCPU 与内存比率 示例资源

通用

U

  • 突发型 CPU 性能

1:4

u1.medium
  • 1 个 vCPU

  • 4 Gi 内存

超额分配

O

  • 超额分配内存

  • 突发型 CPU 性能

1:4

o1.small
  • 1 个 vCPU

  • 2 Gi 内存

计算专用

CX

  • 巨页

  • 专用 CPU

  • 隔离的模拟器线程

  • vNUMA

1:2

cx1.2xlarge
  • 8 个 vCPU

  • 16 Gi 内存

NVIDIA GPU

GN

  • 对于使用 NVIDIA GPU 运算符提供的 GPU 的虚拟机

  • 具有预定义的 GPU

  • 突发型 CPU 性能

1:4

gn1.8xlarge
  • 32 个 vCPU

  • 128Gi 内存

内存密集型

M

  • 巨页

  • 突发型 CPU 性能

1:8

m1.large
  • 2 个 vCPU

  • 16 Gi 内存

网络密集型

N

  • 巨页

  • 专用 CPU

  • 隔离的模拟器线程

  • 需要能够运行 DPDK 工作负载的节点

1:2

n1.medium
  • 4 个 vCPU

  • 4Gi 内存

使用 virtctl 工具创建清单

您可以使用virtctl CLI 实用程序简化创建虚拟机、虚拟机实例类型和虚拟机首选项的清单。更多信息,请参见虚拟机清单创建命令

如果您有VirtualMachine清单,您可以从命令行创建虚拟机。

使用 Web 控制台从实例类型创建虚拟机

您可以使用 Red Hat OpenShift Service on AWS Web 控制台从实例类型创建虚拟机 (VM)。您还可以使用 Web 控制台通过复制现有快照或克隆虚拟机来创建虚拟机。

您可以从可用可引导卷的列表中创建虚拟机。您可以向列表中添加基于 Linux 或 Windows 的卷。

步骤
  1. 在 Web 控制台中,导航到**虚拟化** → **目录**。

    默认情况下将打开**InstanceTypes**选项卡。

  2. 选择以下任一选项

    • 从列表中选择合适可引导卷。如果列表被截断,请单击**显示全部**按钮以显示整个列表。

      可引导卷表仅列出openshift-virtualization-os-images命名空间中具有instancetype.kubevirt.io/default-preference标签的卷。

      • 可选:单击星形图标可将可引导卷指定为收藏夹。加星标的可引导卷将首先出现在卷列表中。

    • 单击**添加卷**以上传新卷或使用现有持久卷声明 (PVC)、卷快照或containerDisk卷。单击**保存**。

      集群中不可用的操作系统的徽标显示在列表底部。您可以通过单击**添加卷**链接来添加所需操作系统的卷。

      此外,还有一个指向**创建 Windows 启动源**快速入门的链接。如果您将指针悬停在“从哪个卷启动”行旁边的问号图标上,则会在弹出窗口中显示相同的链接。

      安装环境后或环境断开连接后,可引导卷列表为空。在这种情况下,将显示三个操作系统徽标:Windows、RHEL 和 Linux。您可以通过单击**添加卷**按钮添加满足您要求的新卷。

  3. 单击实例类型磁贴并选择适合您工作负载的资源大小。

  4. 可选:选择适用于您要从中引导的卷的虚拟机详细信息,包括虚拟机的名称

    • 对于基于 Linux 的卷,请按照以下步骤配置 SSH

      1. 如果您尚未向您的项目添加公共 SSH 密钥,请单击**虚拟机详细信息**部分中**授权的 SSH 密钥**旁边的编辑图标。

      2. 选择以下任一选项

        • **使用现有密钥**: 从密钥列表中选择一个密钥。

        • **添加新的**: 请按照以下步骤操作

          1. 浏览到公共 SSH 密钥文件或将文件粘贴到密钥字段中。

          2. 输入密钥名称。

          3. 可选:选择**自动将此密钥应用于您在此项目中创建的任何新的虚拟机**。

      3. 单击**保存**。

    • 对于 Windows 卷,请按照以下任一组步骤配置 sysprep 选项

      • 如果您尚未为 Windows 卷添加 sysprep 选项,请按照以下步骤操作

        1. 单击**虚拟机详细信息**部分中**Sysprep**旁边的编辑图标。

        2. 添加**Autoattend.xml**应答文件。

        3. 添加**Unattend.xml**应答文件。

        4. 单击**保存**。

      • 如果您要为 Windows 卷使用现有的 sysprep 选项,请按照以下步骤操作

        1. 单击**附加现有 sysprep**。

        2. 输入现有 sysprep **Unattend.xml**应答文件的名称。

        3. 单击**保存**。

  5. 可选:如果您正在创建 Windows 虚拟机,您可以挂载 Windows 驱动器磁盘

    1. 单击**自定义虚拟机**按钮。

    2. 在**虚拟机详细信息**页面上,单击**存储**。

    3. 选中**挂载 Windows 驱动器磁盘**复选框。

  6. 可选:单击**查看 YAML & CLI**以查看 YAML 文件。单击**CLI**以查看 CLI 命令。您还可以下载或复制 YAML 文件内容或 CLI 命令。

  7. 单击**创建虚拟机**。

创建虚拟机后,您可以在**虚拟机详细信息**页面上监控状态。