第 9 章 扩展 Overcloud
在某些情况下,您可以需要在创建 Overcloud 后添加或删除节点。例如,可能需要为 Overcloud 添加 Compute 节点。在这些情况下,需要更新 Overcloud。
下表介绍了对每个节点类型进行扩展的支持信息:
节点类型
|
扩充
|
缩小
|
备注
|
---|---|---|---|
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-kernel
和 bm-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_kernel
和 deploy_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 节点相同的扩展参数。