Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

第 9 章 扩展 Overcloud

在某些情况下,您可以需要在创建 Overcloud 后添加或删除节点。例如,可能需要为 Overcloud 添加 Compute 节点。在这些情况下,需要更新 Overcloud。
下表介绍了对每个节点类型进行扩展的支持信息:

表 9.1. 每个节点类型的扩展支持

节点类型
扩充
缩小
备注
Controller
N
N
Compute
Y
Y
Ceph 存储节点
Y
N
在初始创建的 Overcloud 中最少有一个 Ceph 存储节点。
Cinder 存储节点
N
N
Swift 存储节点
N
N

9.1. 增加 Compute 节点或 Ceph 存储节点

为 director 的节点池添加更多的节点,创建一个包括用来注册新节点信息的 JSON 文件(例如,newnodes.json):
{
  "nodes":[
      {
          "mac":[
              "dd:dd:dd:dd:dd:dd"
          ],
          "cpu":"4",
          "memory":"6144",
          "disk":"40",
          "arch":"x86_64",
          "pm_type":"pxe_ipmitool",
          "pm_user":"admin",
          "pm_password":"p@55w0rd!",
          "pm_addr":"192.0.2.207"
      },
      {
          "mac":[
              "ee:ee:ee:ee:ee:ee"
          ],
          "cpu":"4",
          "memory":"6144",
          "disk":"40",
          "arch":"x86_64",
          "pm_type":"pxe_ipmitool",
          "pm_user":"admin",
          "pm_password":"p@55w0rd!",
          "pm_addr":"192.0.2.208"
      },
  ]
}
如需了解与这些参数相关的信息,请参阅 第 5.1 节 “为 Overcloud 注册节点”
运行以下命令注册这些节点:
$ openstack baremetal import --json newnodes.json
在注册完这些节点后,为它们启动内省进程。为每个新节点运行以下命令:
$ ironic node-list
$ ironic node-set-maintenance [NODE UUID] true
$ openstack baremetal introspection start [NODE UUID]
$ ironic node-set-maintenance [NODE UUID] false
这会发现节点,并为它们创建硬件属性的基准数据。
在内省操作完成后,把新节点标记为相应的角色。例如,使用以下命令把节点标记为一个 Compute 节点:
$ ironic node-update [NODE UUID] add properties/capabilities='profile:compute,boot_option:local'
或者,使用 AHC(Automated Health Check)工具程序对新节点进行自动标记。相关信息,请参阅 附录 C, 自动配置集标记
设置部署时使用的引导镜像。找到 bm-deploy-kernelbm-deploy-ramdisk 镜像的 UUID:
$ glance image-list
+--------------------------------------+------------------------+
| ID                                   | Name                   |
+--------------------------------------+------------------------+
| 09b40e3d-0382-4925-a356-3a4b4f36b514 | bm-deploy-kernel       |
| 765a46af-4417-4592-91e5-a300ead3faf6 | bm-deploy-ramdisk      |
| ef793cd0-e65c-456a-a675-63cd57610bd5 | overcloud-full         |
| 9a51a6cb-4670-40de-b64b-b70f4dd44152 | overcloud-full-initrd  |
| 4f7e33f4-d617-47c1-b36f-cbe90f132e5d | overcloud-full-vmlinuz |
+--------------------------------------+------------------------+
在新节点的 deploy_kerneldeploy_ramdisk 设置中使用这些 UUID:
$ ironic node-update [NODE UUID] add driver_info/deploy_kernel='09b40e3d-0382-4925-a356-3a4b4f36b514'
$ ironic node-update [NODE UUID] add driver_info/deploy_ramdisk='765a46af-4417-4592-91e5-a300ead3faf6'
扩展 Overcloud 需要重新运行 openstack overcloud deploy(使用新的节点数量)。例如,扩展到 5 个 Compute 节点:
$ openstack overcloud deploy --templates --compute-scale 5 [OTHER_OPTIONS]
这会更新整个 Overcloud 栈。请注意,这只会更新栈,而不会删除 Overcloud 或替换栈。

重要

确认包括了初始 Overcloud 创建中的所有环境文件和选项。这包括和非 Compute 节点相同的扩展参数。