3.3. 为叶网络创建类别和标记节点

每个叶网络中的每个角色都需要一个类别和角色分配,以便您可以将节点标记为对应的叶。完成以下步骤以创建各个类别并将其分配到角色。

流程

  1. Source stackrc 文件:

    [stack@director ~]$ source ~/stackrc
  2. 为每个自定义角色创建类别:

    $ ROLES="control compute_leaf0 compute_leaf1 compute_leaf2 ceph-storage_leaf0 ceph-storage_leaf1 ceph-storage_leaf2"
    $ for ROLE in $ROLES; do openstack flavor create --id auto --ram <ram_size_mb> --disk <disk_size_gb> --vcpus <no_vcpus> $ROLE ; done
    $ for ROLE in $ROLES; do openstack flavor set --property "cpu_arch"="x86_64" --property "capabilities:boot_option"="local" --property resources:DISK_GB='0' --property resources:MEMORY_MB='0' --property resources:VCPU='0' $ROLE ; done
    • <ram_size_mb> 替换为裸机节点的 RAM,以 MB 为单位。
    • <disk_size_gb> 替换为裸机节点中的磁盘大小(以 GB 为单位)。
    • <no_vcpus> 替换为裸机节点中的 CPU 数量。
  3. 检索节点列表来识别它们的 UUID:

    (undercloud)$ openstack baremetal node list
  4. 使用自定义资源类将每个裸机节点标记为其叶网络和角色:

    (undercloud)$ openstack baremetal node set \
     --resource-class baremetal.LEAF-ROLE <node>

    <node> 替换为裸机节点的 ID。

    例如,输入以下命令将带有 UUID 58c3d07e-24f2-48a7-bbb6-6843f0e8ee13 的节点标记为 Leaf2 上的 Compute 角色:

    (undercloud)$ openstack baremetal node set \
     --resource-class baremetal.COMPUTE-LEAF2 58c3d07e-24f2-48a7-bbb6-6843f0e8ee13
  5. 将每个叶网络角色类别与自定义资源类关联:

    (undercloud)$ openstack flavor set \
     --property resources:CUSTOM_BAREMETAL_LEAF_ROLE=1 \
    <custom_role>

    要确定与裸机置备服务节点的资源类对应的自定义资源类的名称,请将资源类转换为大写,请将每个 punctuation 标记替换为下划线,并将前缀替换为 CUSTOM_

    注意

    类别只能请求一个裸机资源类实例。

  6. node-info.yaml 文件中,指定要用于每个自定义叶角色的类别,以及为每个自定义叶角色分配的节点数量。例如,以下配置指定要使用的类别,以及为 compute_leaf0, compute_leaf1, compute_leaf2, ceph-storage_leaf0, ceph-storage_leaf1, 和 ceph-storage_leaf2 自定义叶角色分配的节点数量:

    parameter_defaults:
      OvercloudControllerFlavor: control
      OvercloudComputeLeaf0Flavor: compute_leaf0
      OvercloudComputeLeaf1Flavor: compute_leaf1
      OvercloudComputeLeaf2Flavor: compute_leaf2
      OvercloudCephStorageLeaf0Flavor: ceph-storage_leaf0
      OvercloudCephStorageLeaf1Flavor: ceph-storage_leaf1
      OvercloudCephStorageLeaf2Flavor: ceph-storage_leaf2
      ControllerLeaf0Count: 3
      ComputeLeaf0Count: 3
      ComputeLeaf1Count: 3
      ComputeLeaf2Count: 3
      CephStorageLeaf0Count: 3
      CephStorageLeaf1Count: 3
      CephStorageLeaf2Count: 3