第 8 章 虚拟机模板


8.1. 创建虚拟机模板

8.1.1. 关于虚拟机模板

Virtualization 页面中的 Templates 选项卡中列出了预先配置的红帽虚拟机模板。这些模板适用于 Red Hat Enterprise Linux、Fedora、微软 Windows 10 和 Microsoft Windows Servers 的不同版本。每个红帽虚拟机模板都预先配置了操作系统镜像、操作系统的默认设置、类型(CPU 和内存)以及工作负载类型(server)。

Templates 标签显示四个类型的虚拟机模板:

  • 红帽支持的模板完全被红帽模板。
  • 用户支持的模板 红帽支持的 模板,但由用户克隆并创建。
  • 红帽提供的模板,红帽会提供有限的支持。
  • 用户提供的模板是由 红帽提供的,但由用户克隆和创建的模板。
注意

在 Templates 选项卡中,您无法编辑或删除红帽支持的或红帽提供的模板。您只能编辑或删除用户创建的自定义虚拟机模板。

使用红帽模板非常方便,因为模板已预先配置。当您选择一个红帽模板来创建自定义模板时,Create Virtual Machine Template 向导会在之前没有添加引导源时提示您添加引导源。然后,您可以保存自定义模板或继续自定义它并保存它。

您还可以直接选择 Create Virtual Machine Template 向导并创建自定义虚拟机模板。向导提示您提供有关操作系统、类型、工作负载类型和其他设置的配置详情。您可以添加引导源,并继续自定义模板并保存它。

8.1.2. 为虚拟机模板添加引导源

对于您要用于创建虚拟机或自定义模板的任何虚拟机模板,可以配置引导源。当使用引导源配置虚拟机模板时,会在 Templates 选项卡中被标记为 Available。在向模板中添加引导源后,您可以使用该模板创建新虚拟机。

在 web 控制台中选择和添加引导源有四个方法:

  • 上传本地文件(创建 PVC)
  • 通过 URL 导入(创建 PVC)
  • 克隆现有的 PVC(创建 PVC)
  • 通过 Registry 导入(创建 PVC)

先决条件

  • 要添加引导源,您必须以具有 os-images.kubevirt.io:edit RBAC 角色或管理员的用户身份登录。您不需要特殊权限才能从附加了引导源的模板创建虚拟机。
  • 要上传本地文件,操作系统镜像文件必须存在于本地机器中。
  • 要通过 URL 导入,您需要访问带操作系统镜像的 web 服务器。例如:带有镜像的 Red Hat Enterprise Linux 网页。
  • 要克隆现有的 PVC,需要使用 PVC 访问项目。
  • 要通过 registry 导入,需要访问容器 registry。

流程

  1. 在 OpenShift Virtualization 控制台中,从侧边菜单中点击 Workloads Virtualization。
  2. 点 Templates 选项卡。
  3. 找到您要配置引导源的虚拟机模板并点击 Add source。
  4. 在 Add boot source to template 窗口中,点 Select boot source,选择创建持久性卷声明(PVC)的方法: Upload local file、Import via URL、Clone existing PVC 或 Import via Registry。
  5. 可选: 点击这是 CD-ROM 引导源 来挂载 CD-ROM,并使用它来将操作系统安装到空磁盘。OpenShift Virtualization 会自动创建并挂载额外的空磁盘。如果不需要额外磁盘,您可以在创建虚拟机时将其删除。
  6. 为 持久性卷声明大小 输入一个值,以指定适合未压缩镜像的 PVC 大小,以及任何需要的额外空间。

    1. 可选:输入 Source 供应商 名称以将名称与此模板关联。
    2. 高级:点 Storage class 并选择用于创建磁盘的存储类。
    3. 高级:点 Access 模式 并选择持久性卷的访问模式。支持的访问模式有: 单用户(RWO)、 共享访问(RWX) 和 只读(ROX)。
    4. 高级:如果要选择 Block 而不是默认值 Filesystem,点卷模式。
  7. 选择保存引导源的适当方法:

    1. 如果您上传一个本地文件,请点击 Save and upload。
    2. 如果从 URL 或 registry 中导入内容,点 Save and import。
    3. 如果克隆现有的 PVC,点 Save and clone。

Templates 选项卡中列出了带有引导源的自定义虚拟机模板,您可以使用此模板创建虚拟机。

8.1.2.1. 用于添加引导源的虚拟机模板字段

下表描述了在 模板窗口中添加引导源的字段。当您点击 Templates 选项卡中的虚拟机模板的 Add Source 时会显示这个窗口。

名称参数描述

引导源类型

上传本地文件(创建 PVC)

从本地设备上传文件。支持的文件类型包括 gz、xz、tar 和 qcow2。

通过 URL 导入(创建 PVC)

从 HTTP 或 HTTPS 端点提供的镜像导入内容。从镜像下载的网页获取下载链接 URL,并在 通过 URL 导入(创建 PVC) 字段中输入该 URL 链接。示例:对于 Red Hat Enterprise Linux 镜像,登录到红帽客户门户网站,访问进行下载页面,并复制 KVM 客户机镜像的下载链接 URL。

克隆现有的 PVC(创建 PVC)

使用集群中已可用的 PVC 并克隆它。

通过 Registry 导入(创建 PVC)

指定位于 registry 中并可从集群访问的可引导操作系统容器。示例: kubevirt/cirros-registry-dis-demo。

源供应商

 

可选字段。添加有关模板源的描述性文本,或者创建模板的用户名称。例如:Red Hat。

高级

Storage class

用于创建磁盘的存储类。

访问模式

持久性卷访问模式。支持的访问模式有: 单用户(RWO)、 共享访问(RWX) 和 只读(ROX)。如果选择了 Single User(RWO),则该磁盘可以被单一节点以读写模式挂载。如果选择了 Shared Access(RWX),则该磁盘可以被多个节点以读写模式挂载。kubevirt-storage-class-defaults 配置映射为数据卷提供默认的访问模式。默认值会根据集群中每个存储类的最佳选项设置。

+

注意

对一些功能(如虚拟机在节点间实时迁移)需要共享访问(RWX)。

卷模式

定义持久性卷是否使用格式化的文件系统或原始块状态。支持的模式是 Block 和 Filesystem。kubevirt-storage-class-defaults 配置映射为数据卷的卷模式提供默认卷模式。默认值会根据集群中每个存储类的最佳选项设置。

8.1.3. 将虚拟机模板标记为热门

为更轻松地访问经常使用的虚拟机模板,您可以将这些模板标记为热门。

流程

  1. 在 OpenShift Virtualization 控制台中,从侧边菜单中点击 Workloads Virtualization。
  2. 点 Templates 选项卡。
  3. 识别您要标记为热门的红帽模板。
  4. 点击 Options 菜单 kebab 并选择 Favorite 模板。在显示的模板列表中,这些模板会被移到更高的位置。

8.1.4. 根据供应商过滤虚拟机模板列表

在 Templates 选项卡中,您可以使用 Search by name 字段通过指定模板名称或标识标识模板来搜索虚拟机模板。您还可以根据供应商过滤模板,并只显示满足过滤条件的模板。

流程

  1. 在 OpenShift Virtualization 控制台中,从侧边菜单中点击 Workloads Virtualization。
  2. 点 Templates 选项卡。
  3. 要过滤模板,点 Filter。
  4. 从列表中选择适当的复选框来过滤模板: 红帽支持的、用户支持的、红帽提供的 和 用户提供的。

web 控制台具有 Create Virtual Machine Template 向导,指导您完成 General、Networking、Storage、Advanced 和 Review 步骤,以简化虚拟机模板的创建过程。所有必填字段均带有一个 *。在为所有所需字段都提供了值之前,Create Virtual Machine Template 向导会阻止进行到下一步。

注意

向导会指导您创建一个自定义虚拟机模板,在其中可指定操作系统、引导源、类型和其他设置。

流程

  1. 在 OpenShift Virtualization 控制台中,从侧边菜单中点击 Workloads Virtualization。
  2. 点 Templates 选项卡。
  3. 点 Create 并选择 Template with Wizard。
  4. 在 General 步骤中填写所有必填字段。
  5. 点击 Next 进入 Networking 步骤。默认会附加名为 nic0 的 NIC。

    1. 可选:点 Add Network Interface 来创建额外 NIC。
    2. Optional:您可以通过点 Options 菜单 kebab 并选择 Delete 来删除任何或所有 NIC。从模板创建的虚拟机无需附加 NIC。可在创建虚拟机之后创建 NIC。
  6. 点 Next 进入 Storage 步骤。
  7. 点 Add Disk 添加磁盘,在 Add Disk 页中输入相关信息。

    注意

    如果选择 Import via URL (creates PVC)、Import via Registry (creates PVC) 或 Container (ephemeral) 作为 Source,会创建一个 rootdisk 磁盘,并被添加到虚拟机作为 Bootable Disk。

    如果虚拟机上未附加任何磁盘,则从 PXE 源置备的虚拟机无需 Bootable Disk。如有一个或多个磁盘附加到虚拟机,您必须将其中一个选为 Bootable Disk。

    空白磁盘、没有有效引导源的 PVC 磁盘以及 cloudinitdisk 不能用作引导源。

  8. 可选:点 Advanced 来配置 Cloud-init。
  9. 点 Review 来查看并确认您的设置。
  10. 点 Create Virtual Machine 模板。
  11. 点 See virtual machine template details 查看有关虚拟机模板的详情。

模板也会在 Templates 选项卡中列出。

8.1.6. 虚拟机模板向导字段

下表描述了 Create Virtual Machine Template 向导中的 General、Networking、Storage 和 Advanced 步骤的字段。

8.1.6.1. 虚拟机模板向导字段

名称参数描述

Template

 

从中创建虚拟机的模板。选择一个模板将自动填写其他字段。

名称

 

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

模板供应商

 

为集群创建模板的用户名称或用于标识此模板的任何有意义的名称。

模板支持

没有额外的支持

此模板在集群中没有额外的支持。

由模板供应商支持

此模板由模板供应商支持。

描述

 

可选的描述字段。

操作系统

 

这是为虚拟机选择的主要操作系统。选择操作系统会自动选择那个操作系统的默认 Flavor 和 Workload 类型。

引导源

通过 URL 导入(创建 PVC)

从 HTTP 或 HTTPS 端点提供的镜像导入内容。示例:包含操作系统镜像的网页中的 URL 链接。

克隆现有的 PVC(创建 PVC)

选择集群中可用的现有持久性卷声明并克隆它。

通过 Registry 导入(创建 PVC)

从可通过集群访问的注册表中的可启动操作系统容器置备虚拟机。示例:kubevirt/cirros-registry-disk-demo。

PXE(网络引导 - 添加网络接口)

从网络的服务器引导操作系统。需要一个 PXE 可引导网络附加定义。

持久性卷声明项目

 

用于克隆 PVC 的项目名称。

持久性卷声明名称

 

如果您要克隆现有的 PVC,则应用于此虚拟机模板的 PVC 名称。

将它作为光盘引导源挂载

 

CD-ROM 需要额外的磁盘来安装操作系统。选择添加磁盘的选择框并稍后进行自定义。

Flavor

tiny、small、Medium、Large、Custom

预设值,用于决定分配给虚拟机的 CPU 和内存量。显示的 Flavor 的预设置值是根据操作系统决定的。

工作负载类型

Desktop

用于桌面的虚拟机配置。适用于小型工作环境。建议与 Web 控制台搭配使用。

Server

在性能和广泛的服务器工作负载兼容性方面具有最佳平衡。

高性能

针对高性能负载进行了优化的虚拟机配置。

8.1.6.2. 网络字段

Name描述

Name

网络接口控制器的名称。

Model

指明网络接口控制器的型号。支持的值有 e1000e 和 virtio。

网络

可用网络附加定义的列表。

类型

可用绑定方法列表。对于默认的 pod 网络,masquerade 是唯一推荐的绑定方法。对于辅助网络,请使用 bridge 绑定方法。非默认网络不支持 masquerade 绑定方法。如果您配置了一个 SR-IOV 网络设备并在命名空间中定义那个网络,请选择 SR-IOV。

MAC 地址

网络接口控制器的 MAC 地址。如果没有指定 MAC 地址,则会自动分配一个。

8.1.6.3. 存储字段

名称选择描述

Source

空白(创建 PVC)

创建一个空磁盘。

通过 URL 导入(创建 PVC)

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

使用现有的 PVC

使用集群中已可用的 PVC。

克隆现有的 PVC(创建 PVC)

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

通过 Registry 导入(创建 PVC)

通过容器 registry 导入内容。

容器(临时)

从集群可以访问的 registry 中的容器上传内容。容器磁盘应只用于只读文件系统,如 CD-ROM 或临时虚拟机。

名称

 

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

Size

 

GiB 中磁盘的大小。

类型

 

磁盘类型。示例:磁盘或光盘

Interface

 

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

Storage class

 

用于创建磁盘的存储类。

Advanced Volume Mode

 

定义持久性卷是否使用格式化的文件系统或原始块状态。默认为 Filesystem。

Advanced Access Mode

 

持久性卷访问模式。支持的访问模式有 Single User(RWO)、Shared Access(RWX) 和 Read Only(ROX)。

高级存储设置

以下高级存储设置可用于 空白、从 URL 导入 和 克隆现有的 PVC 磁盘。所有参数都是可选的。如果没有指定这些参数,系统将使用 kubevirt-storage-class-defaults 配置映射中的默认值。

名称参数描述

卷模式

Filesystem

在基于文件系统的卷中保存虚拟磁盘。

Block

直接将虚拟磁盘存储在块卷中。只有底层存储支持时才使用 Block。

访问模式

Single User (RWO)

这个卷可以被一个单一的节点以 read/write 的形式挂载。

Shared Access (RWX)

卷可以被多个节点以读写模式挂载。

注意

对于一些功能(如虚拟机在节点间实时迁移)需要这个权限。

Read Only (ROX)

卷可以被多个节点以只读形式挂载。

8.1.6.4. Cloud-init 字段

名称描述

Hostname

为虚拟机设置特定主机名。

授权 SSH 密钥

复制到虚拟机上 ~/.ssh/authorized_keys 的用户公钥。

自定义脚本

将其他选项替换为您粘贴自定义 cloud-init 脚本的字段。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部