Menu Close

第 8 章 虚拟机模板

8.1. 创建虚拟机模板

您可以使用虚拟机模板创建具有相似配置的多个虚拟机。创建完模板后,在创建虚拟机时即可引用该模板。

8.1.1. 利用 web 控制台中的互动向导创建虚拟机模板

web 控制台带有一个交互式的向导来帮助您进行 General, Networking, Storage, AdvancedReview 步骤,以简化创建虚拟机的过程。所有必填字段均标有 *。在所有必填字段中提供值后,向导才会移至下一步。

流程

  1. 在 OpenShift Virtualization 控制台中,从侧边菜单中点击 WorkloadsVirtualization
  2. Virtual Machine Templates 标签页。
  3. 点击 Create Template 并选择 New 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 屏幕。

    1. 可选:点击 Add Disk 创建额外磁盘。
    2. 可选:点击磁盘可修改可用字段。点击 ✓ 按钮保存更改。
    3. 可选:点击 DiskSelect Storage 列表中选择可用磁盘。

      注意

      如果在 General 步骤中将 URLContainer 选为 Source,则会创建一个 rootdisk 磁盘,并将其作为 Bootable Disk 附加到虚拟机。您可修改 rootdisk,但不可将其移除。

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

  7. 点击 Create Virtual Machine Template >Results 屏幕显示虚拟机模板的 JSON 配置文件。

    模板在 Virtual Machine Templates 标签页中列出。

8.1.2. 虚拟机模板交互式向导字段

下表描述了 Create Virtual Machine Template 交互式向导中 Basic SettingsNetworkingStorage 窗格的字段。

8.1.2.1. 虚拟机模板向导字段

名称参数描述

Source

PXE

从 PXE 菜单置备虚拟机。集群中需要支持 PXE 的 NIC。

URL

从由 HTTPS3 端点提供的镜像置备虚拟机。

Container

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

Disk

从一个磁盘置备虚拟机。

操作系统

 

这是为虚拟机选择的主要操作系统。

Flavor

small、medium、large、tiny、Custom

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

内存

 

分配给虚拟机的内存大小(以 GiB 为单位)。

CPU

 

分配给虚拟机的 CPU 数量。

Workload Profile

high performance

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

Server

针对运行服务器工作负载进行优化的配置集。

Desktop

用于桌面的虚拟机配置。

名称

 

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

描述

 

可选的描述字段。

8.1.2.2. Cloud-init 字段

名称描述

Hostname

为虚拟机设置具体主机名。

Authenticated SSH Keys

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

自定义脚本

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

8.1.2.3. 网络字段

名称描述

名称

网络接口卡的名称

Model

指定网络接口卡的型号。支持的值包括 e1000e1000ene2k_pcipcnetrtl8139virtIO

网络

可用 NetworkAttachmentDefinition 对象列表。

类型

可用绑定方法列表。对于默认的 Pod 网络,masquerade 是唯一推荐的绑定方法。对于辅助网络,请使用 bridge 绑定方法。非默认网络不支持 masquerade 绑定方法。

MAC 地址

网络接口卡的 MAC 地址。如果未指定 MAC 地址,将为会话生成一个临时地址。

8.1.2.4. 存储字段

名称描述

Source

为虚拟机选择一个空磁盘,或从以下选项中选择:URLContainerAttach Cloned DiskAttach Disk。要选择现有磁盘并将其附加到虚拟机,请从可用 PersistentVolumeClaims (PVC) 列表中选择 Attach Cloned DiskAttach Disk

名称

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

SIZE (GB)

磁盘大小(以 GB 为单位)。

Interface

磁盘设备的类型。支持的接口包括 virtIOSATASCSI

Storage class

用于创建磁盘的 StorageClass

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)

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