第 8 章 虚拟机模板
8.1. 创建虚拟机模板
您可以使用虚拟机模板创建具有相似配置的多个虚拟机。创建完模板后,在创建虚拟机时即可引用该模板。
8.1.1. 利用 web 控制台中的互动向导创建虚拟机模板
web 控制台带有一个交互式的向导来帮助您进行 General, Networking, Storage, Advanced 和Review 步骤,以简化创建虚拟机的过程。所有必填字段均标有 *
。在所有必填字段中提供值后,向导才会移至下一步。
流程
-
在 OpenShift Virtualization 控制台中,从侧边菜单中点击 Workloads
Virtualization。 - 点 Virtual Machine Templates 标签页。
- 点击 Create Template 并选择 New with Wizard。
- 在 General 步骤中填写所有必填字段。
点击 Next 进入 Networking 屏幕。默认会附加名为
nic0
的 NIC。- 可选:点 Add Network Interface 来创建额外 NIC。
- Optional:您可以通过点 Options 菜单 并选择 Delete 来删除任何或所有 NIC。从模板创建的虚拟机无需附加 NIC。可在创建虚拟机之后创建 NIC。
点击 Next 进入 Storage 屏幕。
- 可选:点击 Add Disk 创建额外磁盘。
- 可选:点击磁盘可修改可用字段。点击 ✓ 按钮保存更改。
可选:点击 Disk 从 Select Storage 列表中选择可用磁盘。
注意如果在 General 步骤中将 URL 或 Container 选为 Source,则会创建一个
rootdisk
磁盘,并将其作为 Bootable Disk 附加到虚拟机。您可修改rootdisk
,但不可将其移除。如果虚拟机上未附加任何磁盘,则从 PXE 源置备的虚拟机无需 Bootable Disk。如有一个或多个磁盘附加到虚拟机,您必须将其中一个选为 Bootable Disk。
点击 Create Virtual Machine Template >。Results 屏幕显示虚拟机模板的 JSON 配置文件。
模板在 Virtual Machine Templates 标签页中列出。
8.1.2. 虚拟机模板交互式向导字段
下表描述了 Create Virtual Machine Template 交互式向导中 Basic Settings、Networking 和 Storage 窗格的字段。
8.1.2.1. 虚拟机模板向导字段
名称 | 参数 | 描述 |
---|---|---|
Source | PXE | 从 PXE 菜单置备虚拟机。集群中需要支持 PXE 的 NIC。 |
URL | 从由 HTTP 或 S3 端点提供的镜像置备虚拟机。 | |
Container |
从可通过集群访问的注册表中的可启动操作系统容器置备虚拟机。示例: | |
Disk | 从一个磁盘置备虚拟机。 | |
操作系统 | 这是为虚拟机选择的主要操作系统。 | |
Flavor | small、medium、large、tiny、Custom | 预设值,用于决定分配给虚拟机的 CPU 和内存量。显示的 Flavor 的预设置值是根据操作系统决定的。 |
内存 | 分配给虚拟机的内存大小(以 GiB 为单位)。 | |
CPU | 分配给虚拟机的 CPU 数量。 | |
Workload Profile | high performance | 针对高性能负载进行了优化的虚拟机配置。 |
Server | 针对运行服务器工作负载进行优化的配置集。 | |
Desktop | 用于桌面的虚拟机配置。 | |
名称 |
名称可包含小写字母 ( | |
描述 | 可选的描述字段。 |
8.1.2.2. Cloud-init 字段
名称 | 描述 |
---|---|
Hostname | 为虚拟机设置特定主机名。 |
Authenticated SSH Keys | 复制到虚拟机上 ~/.ssh/authorized_keys 的用户公钥。 |
自定义脚本 | 将其他选项替换为您粘贴自定义 cloud-init 脚本的字段。 |
8.1.2.3. 网络字段
名称 | 描述 |
---|---|
名称 | 网络接口控制器的名称。 |
model | 指明网络接口控制器的型号。支持的值有 e1000e 和 virtio。 |
网络 | 可用网络附加定义的列表。 |
类型 |
可用绑定方法列表。对于默认的 pod 网络, |
MAC 地址 | 网络接口控制器的 MAC 地址。如果没有指定 MAC 地址,则会自动分配一个。 |
8.1.2.4. 存储字段
名称 | 描述 |
---|---|
Source | 为虚拟机选择一个空磁盘,或从以下选项中选择:URL、Container、Attach Cloned Disk 或 Attach Disk。要选择现有磁盘并将其附加到虚拟机,请从可用持久性卷声明(PVC)列表中选择 Attach Cloned Disk 或 Attach Disk。 |
名称 |
磁盘的名称。名称可包含小写字母 ( |
SIZE (GB) | 磁盘大小(以 GB 为单位)。 |
Interface | 磁盘设备的类型。支持的接口包括 virtIO、SATA 和 SCSI。 |
Storage class | 用于创建磁盘的存储类。 |
Advanced | 定义持久性卷是否使用格式化的文件系统或原始块状态。默认为 Filesystem。 |
Advanced | 持久性卷访问模式。支持的访问模式有 ReadWriteOnce、ReadOnlyMany 和 ReadWriteMany。 |
高级存储设置
以下高级存储设置可用于 空白、从 URL 导入 和 克隆现有的 PVC 磁盘。所有参数都是可选的。如果没有指定这些参数,系统将使用 kubevirt-storage-class-defaults
配置映射中的默认值。
名称 | 参数 | 描述 |
---|---|---|
卷模式 | Filesystem | 在基于文件系统的卷中保存虚拟磁盘。 |
Block |
直接将虚拟磁盘存储在块卷中。只有底层存储支持时才使用 | |
访问模式 | Single User (RWO) | 这个卷可以被一个单一的节点以 read/write 的形式挂载。 |
Shared Access (RWX) | 卷可以被多个节点以读写模式挂载。 注意 对于一些功能(如虚拟机在节点间实时迁移)需要这个权限。 | |
Read Only (ROX) | 卷可以被多个节点以只读形式挂载。 |