2.3. 为叶节点设计角色

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

流程

  1. Source stackrc 文件:

    [stack@director ~]$ source ~/stackrc
  2. 检索节点列表以标识其 UUID:

    (undercloud)$ openstack baremetal node list
  3. 使用标识其 leaf network 和 role 的自定义资源类为角色分配您要指定的每个裸机节点。

    openstack baremetal node set \
     --resource-class baremetal.<ROLE> <node>
    • 将 <ROLE> 替换为标识角色的名称。
    • 将 <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
  4. 如果还没有定义,请将每个角色添加到 overcloud-baremetal-deploy.yaml 中。
  5. 为角色定义您要分配给节点的资源类:

    - name: <role>
      count: 1
      defaults:
        resource_class: baremetal.<ROLE>
    • 将 <role> 替换为角色的名称。
    • 将 <ROLE> 替换为标识角色的名称。
  6. 在 baremetal-deploy.yaml 文件中,定义您要分配给角色节点的资源类型。指定您要部署的角色、配置集、数量和相关网络:

    - name: <role>
      count: 1
      hostname_format: <role>-%index%
      ansible_playbooks:
        - playbook: bm-deploy-playbook.yaml
      defaults:
        resource_class: baremetal.<ROLE>
        profile: control
        networks:
          - network: external
            subnet: external_subnet
          - network: internal_api
            subnet: internal_api_subnet01
          - network: storage
            subnet: storage_subnet01
          - network: storage_mgmt
            subnet: storage_mgmt_subnet01
          - network: tenant
            subnet: tenant_subnet01
        network_config:
          template: templates/multiple_nics/multiple_nics_dvr.j2
          default_route_network:
            - external
    • 将 <role> 替换为角色的名称。
    • 将 <ROLE> 替换为标识角色的名称。

      注意

      您必须在 /home/stack/<stack> 中,为要部署的每个堆栈 创建一个 baremetal-deploy.yaml 环境文件。