4.3. 创建用于启动裸机实例的类别
您必须创建可供云用户用来请求裸机实例的类别。您可以使用资源类来指定哪些裸机节点应该用于使用特定类别启动的裸机实例。您可以使用标识节点上硬件资源的资源类标记裸机节点,例如 GPU。云用户可以选择具有 GPU 资源类的类别,以便为 vGPU 工作负载创建实例。计算调度程序使用资源类来识别适合实例的主机裸机节点。
流程
提供 overcloud 凭证文件:
$ source ~/overcloudrc
为裸机实例创建类别:
(overcloud)$ openstack flavor create --id auto \ --ram <ram_size_mb> --disk <disk_size_gb> \ --vcpus <no_vcpus> baremetal
-
将
<ram_size_mb>
替换为裸机节点的 RAM,以 MB 为单位。 -
将
<disk_size_gb>
替换为裸机节点中的磁盘大小(以 GB 为单位)。 将
<no_vcpus>
替换为裸机节点中的 CPU 数量。注意这些属性不可用于调度实例。但是,计算调度程序使用磁盘大小来确定根分区大小。
-
将
检索节点列表来识别它们的 UUID:
(overcloud)$ openstack baremetal node list
使用自定义裸机资源类标记每个裸机节点:
(overcloud)$ openstack baremetal node set \ --resource-class baremetal.<CUSTOM> <node>
-
将
<CUSTOM
> 替换为标识资源类目的的字符串。例如,设置为GPU
以创建自定义 GPU 资源类,您可以使用它来标记您要为 GPU 工作负载指定的裸机节点。 -
将
<node>
替换为裸机节点的 ID。
-
将
将裸机实例的类别与自定义资源类关联:
(overcloud)$ openstack flavor set \ --property resources:CUSTOM_BAREMETAL_<CUSTOM>=1 \ baremetal
要确定与裸机节点资源类对应的自定义资源类的名称,请将资源类转换为大写,将每个 punctuation 标记替换为下划线,并将前缀替换为
CUSTOM_
。注意类别只能请求一个裸机资源类实例。
设置以下类别属性,以防止计算调度程序使用裸机类别属性来调度实例:
(overcloud)$ openstack flavor set \ --property resources:VCPU=0 \ --property resources:MEMORY_MB=0 \ --property resources:DISK_GB=0 baremetal
验证新类别是否具有正确的值:
(overcloud)$ openstack flavor list