×

您可以使用 AWS 上的 Red Hat OpenShift 服务 Web 控制台从 Red Hat 模板创建虚拟机 (VM)。

关于虚拟机模板

启动源

您可以通过使用具有可用启动源的模板来加快虚拟机创建速度。如果模板没有自定义标签,则具有启动源的模板会被标记为**可用启动源**。

没有启动源的模板会被标记为**需要启动源**。请参见从自定义镜像创建虚拟机

自定义

您可以在启动虚拟机之前自定义磁盘源和虚拟机参数。

有关磁盘源设置的详细信息,请参见存储卷类型存储字段

如果您复制具有所有标签和注释的虚拟机模板,则在部署调度、缩放和性能 (SSP) 运算符的新版本时,您的模板版本将被标记为已弃用。您可以删除此标记。请参见使用 Web 控制台自定义虚拟机模板

单节点 OpenShift

由于存储行为的差异,某些模板与单节点 OpenShift 不兼容。为了确保兼容性,请不要为使用数据卷或存储配置文件的模板或虚拟机设置evictionStrategy字段。

从模板创建虚拟机

您可以使用 AWS 上的 Red Hat OpenShift 服务 Web 控制台从具有可用启动源的模板创建虚拟机 (VM)。

可选:您可以在启动虚拟机之前自定义模板或虚拟机参数,例如数据源、cloud-init 或 SSH 密钥。

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

  2. 单击**可用启动源**以筛选具有启动源的模板。

    目录显示默认模板。单击**所有项目**以查看符合您筛选条件的所有可用模板。

  3. 单击模板图块以查看其详细信息。

  4. 可选:如果您使用的是 Windows 模板,则可以通过选中**挂载 Windows 驱动程序磁盘**复选框来挂载 Windows 驱动程序磁盘。

  5. 如果您不需要自定义模板或虚拟机参数,请单击**快速创建虚拟机**以从模板创建虚拟机。

    如果您需要自定义模板或虚拟机参数,请执行以下操作

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

    2. 展开**存储**或**可选参数**以编辑数据源设置。

    3. 单击**自定义虚拟机参数**。

      **自定义和创建虚拟机**窗格显示**概述**、**YAML**、**调度**、**环境**、**网络接口**、**磁盘**、**脚本**和**元数据**选项卡。

    4. 编辑虚拟机启动前必须设置的参数,例如 cloud-init 或静态 SSH 密钥。

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

      **虚拟机详细信息**页面显示预配状态。

存储卷类型

表 1. 存储卷类型
类型 描述

临时型

本地写时复制 (COW) 镜像,使用网络卷作为只读后备存储。后备卷必须是**PersistentVolumeClaim**。临时镜像在虚拟机启动时创建,并在本地存储所有写入内容。当虚拟机停止、重启或删除时,临时镜像将被丢弃。后备卷 (PVC) 不会以任何方式发生变异。

persistentVolumeClaim

将可用的 PV 附加到虚拟机。附加 PV 允许虚拟机数据在会话之间持久保存。

建议使用 CDI 将现有虚拟机磁盘导入 PVC 并将 PVC 附加到虚拟机实例,这是将现有虚拟机导入 AWS 上的 Red Hat OpenShift 服务的推荐方法。磁盘在 PVC 中使用有一些要求。

dataVolume

数据卷基于persistentVolumeClaim磁盘类型构建,通过导入、克隆或上传操作来管理准备虚拟机磁盘的过程。使用此卷类型的虚拟机保证在卷准备就绪之前不会启动。

指定type: dataVolumetype: ""。如果您为type指定任何其他值,例如persistentVolumeClaim,则会显示警告,并且虚拟机不会启动。

cloudInitNoCloud

附加包含引用的 cloud-init NoCloud 数据源的磁盘,向虚拟机提供用户数据和元数据。虚拟机磁盘内需要安装 cloud-init。

containerDisk

引用存储在容器镜像注册表中的镜像,例如虚拟机磁盘。启动虚拟机时,该镜像将从注册表中提取并作为磁盘附加到虚拟机。

containerDisk卷不限于单个虚拟机,对于创建不需要持久存储的大量虚拟机克隆非常有用。

容器镜像注册表仅支持 RAW 和 QCOW2 格式的磁盘类型。建议使用 QCOW2 以减小镜像大小。

containerDisk 卷是短暂的。当虚拟机停止、重启或删除时,它将被丢弃。containerDisk 卷适用于只读文件系统(例如 CD-ROM)或一次性虚拟机。

emptyDisk

创建一个附加的稀疏 QCOW2 磁盘,它与虚拟机接口的生命周期绑定。数据在虚拟机中经受访客发起的重启后仍然存在,但在虚拟机停止或从 Web 控制台重启时将被丢弃。空磁盘用于存储应用程序依赖项和数据,这些依赖项和数据超过了短暂磁盘有限的临时文件系统。

还必须提供磁盘**容量**大小。

存储字段

字段 描述

空白(创建 PVC)

创建空磁盘。

通过 URL 导入(创建 PVC)

通过 URL(HTTP 或 HTTPS 端点)导入内容。

使用现有 PVC

使用集群中已存在的 PVC。

克隆现有 PVC(创建 PVC)

选择集群中可用的现有 PVC 并克隆它。

通过注册表导入(创建 PVC)

通过容器注册表导入内容。

名称

磁盘名称。名称最多可包含 253 个字符,可以包含小写字母 (a-z)、数字 (0-9)、连字符 (-) 和句点 (.)。第一个和最后一个字符必须是字母数字字符。名称不能包含大写字母、空格或特殊字符。

大小

磁盘大小(GiB)。

类型

磁盘类型。例如:磁盘或 CD-ROM

接口

磁盘设备类型。支持的接口为 **virtIO**、**SATA** 和 **SCSI**。

存储类

用于创建磁盘的存储类。

高级存储设置

以下高级存储设置是可选的,可用于 **空白**、**通过 URL 导入** 和 **克隆现有 PVC** 磁盘。

如果未指定这些参数,系统将使用默认的存储配置文件值。

参数 选项 参数描述

卷模式

文件系统

将虚拟磁盘存储在基于文件系统的卷上。

将虚拟磁盘直接存储在块卷上。只有在底层存储支持的情况下才使用Block

访问模式

ReadWriteOnce (RWO)

单个节点可以将卷以读写方式挂载。

ReadWriteMany (RWX)

多个节点可以同时将卷以读写方式挂载。

此模式对于实时迁移是必需的。

使用 Web 控制台自定义 VM 模板

在启动虚拟机 (VM) 之前,您可以通过修改 VM 或模板参数(例如数据源、cloud-init 或 SSH 密钥)来自定义现有的虚拟机 (VM) 模板。如果您通过复制模板并包含其所有标签和注释来自定义模板,则在部署新版本的调度、扩展和性能 (SSP) 运算符时,自定义模板将被标记为已弃用。

您可以删除自定义模板的已弃用标志。

步骤
  1. 在 Web 控制台中导航到**虚拟化** → **模板**。

  2. 在 VM 模板列表中,单击标记为已弃用的模板。

  3. 单击**标签**旁边的铅笔图标旁边的**编辑**。

  4. 删除以下两个标签

    • template.kubevirt.io/type: "base"

    • template.kubevirt.io/version: "version"

  5. 单击**保存**。

  6. 单击现有**注释**数量旁边的铅笔图标。

  7. 删除以下注释

    • template.kubevirt.io/deprecated

  8. 单击**保存**。

在 Web 控制台中创建自定义 VM 模板

您可以通过在 Red Hat OpenShift Service on AWS Web 控制台中编辑 YAML 文件示例来创建虚拟机模板。

步骤
  1. 在 Web 控制台中,单击侧边菜单中的**虚拟化** → **模板**。

  2. 可选:使用**项目**下拉菜单更改与新模板关联的项目。默认情况下,所有模板都保存到openshift项目。

  3. 单击**创建模板**。

  4. 通过编辑 YAML 文件来指定模板参数。

  5. 单击**创建**。

    模板将显示在**模板**页面上。

  6. 可选:单击**下载**以下载并保存 YAML 文件。