17.5. 触发 Controler 节点替换

完成以下步骤,以删除旧的 Controller 节点,并将它替换为新的 Controller 节点。

步骤

  1. 创建一个环境文件 (~/templates/remove-controller.yaml) 来定义要删除的节点索引:

    parameters:
      ControllerRemovalPolicies:
        [{'resource_list': ['1']}]
  2. 运行 overcloud 部署命令,在命令中包含 remove-controller.yaml 环境文件以及所有与您环境相关的其他环境文件:

    (undercloud) $ openstack overcloud deploy --templates \
        -e /home/stack/templates/remove-controller.yaml \
        -e /home/stack/templates/node-info.yaml \
        [OTHER OPTIONS]
    注意

    仅对部署命令的这个实例包含 -e ~/templates/remove-controller.yaml。从后续的部署操作中移除此环境文件。

  3. director 会删除旧节点,创建一个新节点并更新 overcloud 栈。您可以使用以下命令检查 overcloud 栈的状态:

    (undercloud) $ openstack stack list --nested
  4. 一旦部署命令完成,director 会显示旧节点已替换为新节点:

    (undercloud) $ openstack server list -c Name -c Networks
    +------------------------+-----------------------+
    | Name                   | Networks              |
    +------------------------+-----------------------+
    | overcloud-compute-0    | ctlplane=192.168.0.44 |
    | overcloud-controller-0 | ctlplane=192.168.0.47 |
    | overcloud-controller-2 | ctlplane=192.168.0.46 |
    | overcloud-controller-3 | ctlplane=192.168.0.48 |
    +------------------------+-----------------------+

    新节点现在托管运行的 control plane 服务。