第 3 章 为启动实例创建类别
实例类别是一个资源模板,用于指定实例的虚拟硬件配置文件。云用户必须在启动实例时指定类别。
类别可以指定 Compute 服务必须分配给实例的以下资源数量:
- vCPU 数量。
- RAM,以 MB 为单位。
- 根磁盘(以 GB 为单位)。
- 虚拟存储,包括辅助临时存储和交换内存。
您可以通过将类别 public 提供给所有项目或特定项目或域来指定哪些类别可以使用。
Red Hat OpenStack Services on OpenShift (RHOSO)中没有默认类别。要创建类别,您必须使用 openstack flavor create 命令,例如:
openstack --os-compute-api=2.86 flavor create --ram 128 --disk 1 --vcpus 1 m1.nano
此命令创建一个名为 m1.nano 的公共类别,其具有 128MB RAM 和 1GB 磁盘大小。API 微版本启用类别额外规格验证。类别额外规格验证可防止定义类别时常见的拼写错误和类似的错误。您可以使用- -os-compute-api=2.86 来指定微版本。
openstack --os-compute-api=2.86 flavor create --ram 196 --disk 1 --vcpus 1 m1.micro
此命令创建一个名为 m1.micro 的公共类别,其具有 196MB RAM 和 1GB 磁盘大小。
类别可以使用元数据(也称为"额外规格)"来指定实例硬件支持和配额。类别元数据会影响实例放置、资源使用量限值和性能。有关可用元数据属性的完整列表,请参阅 类别元数据。
您还可以通过与主机聚合上设置的 extra_specs 元数据匹配,使用类别元数据键来查找合适的主机聚合来托管该实例。要将实例调度到主机聚合上,您必须通过使用 aggregate_instance_ extra_specs : 命名空间作为 extra_specs 键前缀来限制类别元数据。如需更多信息,请参阅创建和管理主机聚合。
使用类别属性设置的行为会覆盖使用镜像设置的行为。当云用户启动实例时,它们指定的类别的属性将覆盖它们指定的镜像的属性。
3.1. 创建类别 复制链接链接已复制到粘贴板!
您可以为特定功能或行为创建和管理专用类别,例如:
- 更改默认内存和容量以满足底层硬件的需求。
- 添加元数据,以强制实例使用特定的 I/O 速率或匹配主机聚合。
流程
创建指定可供实例使用的基本资源的类别:
$ openstack --os-compute-api=2.86 flavor create --ram <size_mb> \ --disk <size_gb> --vcpus <no_vcpus> \ [--private --project <project_id>] <flavor_name>-
将
<size_mb> 替换为分配给使用此类别创建的实例的 RAM 大小。 -
将 <
size_gb> 替换为要分配给使用此类别创建的实例的根磁盘大小。 -
将
<no_vcpus> 替换为为此类别创建的实例的 vCPU 数量。 可选:指定--
private和-project选项,使类别只能被特定的项目或用户组访问。将<project_id> 替换为可以使用此类别创建实例的项目的 ID。如果没有指定可访问性,则类别默认为 public,这表示它可供所有项目使用。注意创建后,您无法将公共类别私有。
将
<flavor_name> 替换为您的类别的唯一名称。有关类别参数的更多信息,请参阅类别参数。
-
将
可选: 要指定类别元数据,请使用键值对设置必要属性:
$ openstack --os-compute-api=2.86 flavor set \ --property <key=value> --property <key=value> ... <flavor_name>-
将
<key> 替换为您要分配给使用此类别创建的实例的属性的元数据键。有关可用元数据键的列表,请参阅 类别元数据。 -
使用您要分配给使用此类别创建的实例的元数据密钥值替换
<value>。 将
<flavor_name> 替换为您的类别的名称。例如,使用以下类别启动的实例有两个 CPU 套接字,每个 CPU 有两个 CPU:
$ openstack --os-compute-api=2.86 flavor set \ --property hw:cpu_sockets=2 \ --property hw:cpu_cores=2 processor_topology_flavor
-
将