20.2. 替换网络器节点
在某些情况下,在高可用性集群中有一个 Networker 配置集的 Red Hat OpenStack Platform (RHOSP)节点可能会失败。替换 Networker 节点需要运行 openstack overcloud deploy 命令,以使用新节点更新 overcloud。
先决条件
- 您的 RHOSP 部署具有高可用性,有三个或更多网络器节点。
- 要添加的节点必须能够通过网络连接到集群中的其他节点。
- 您已执行 第 20.1 节 “准备替换网络节点” 中介绍的步骤
流程
-
以
stack用户身份登录 undercloud。 查找 undercloud 凭证文件:
示例
source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 找出要删除的节点的索引:
openstack baremetal node list -c UUID -c Name -c "Instance UUID"
$ openstack baremetal node list -c UUID -c Name -c "Instance UUID"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
baremetal node maintenance set命令将节点设置为维护模式。示例
openstack baremetal node maintenance set e6499ef7-3db2-4ab4-bfa7-ef59539bf972
$ openstack baremetal node maintenance set e6499ef7-3db2-4ab4-bfa7-ef59539bf972Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个 JSON 文件,将新节点添加到包含 RHOSP director 的节点池中。
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关更多信息,请参阅 Director 安装和使用 指南中的 向 overcloud 添加节点。
运行
openstack overcloud node import命令以注册新节点。示例
openstack overcloud node import newnode.json
$ openstack overcloud node import newnode.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注册新节点后,使用以下命令启动内省过程:
openstack baremetal node manage <node> openstack overcloud node introspect <node> --provide
$ openstack baremetal node manage <node> $ openstack overcloud node introspect <node> --provideCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
openstack baremetal node set命令,使用 Networker 配置集标记新节点。示例
openstack baremetal node set --property \ capabilities='profile:networker,boot_option:local' \ 91eb9ac5-7d52-453c-a017-c0e3d823efd0$ openstack baremetal node set --property \ capabilities='profile:networker,boot_option:local' \ 91eb9ac5-7d52-453c-a017-c0e3d823efd0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个
~/templates/remove-networker.yaml环境文件,该文件定义您要删除的节点的索引:示例
parameters: NetworkerRemovalPolicies: [{'resource_list': ['1']}]parameters: NetworkerRemovalPolicies: [{'resource_list': ['1']}]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
~/templates/node-count-networker.yaml环境文件,并在文件中设置 Networker 节点总数。示例
parameter_defaults: OvercloudNetworkerFlavor: networker NetworkerCount: 3
parameter_defaults: OvercloudNetworkerFlavor: networker NetworkerCount: 3Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
openstack overcloud deploy命令,并包含您修改的核心 heat 模板、环境文件和环境文件。重要环境文件的顺序非常重要,因为后续环境文件中定义的参数和资源具有优先权。
openstack overcloud deploy --templates \ -e <your_environment_files> \ -e /home/stack/templates/node-count-networker.yaml \ -e /home/stack/templates/remove-networker.yaml
$ openstack overcloud deploy --templates \ -e <your_environment_files> \ -e /home/stack/templates/node-count-networker.yaml \ -e /home/stack/templates/remove-networker.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow RHOSP director 删除旧的 Networker 节点,创建一个新节点并更新 overcloud 堆栈。
验证
检查 overcloud 堆栈的状态:
openstack stack list --nested
$ openstack stack list --nestedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证新的 Networker 节点是否已列出,并且删除旧节点是否已移除。
openstack server list -c ID -c Name -c Status
$ openstack server list -c ID -c Name -c StatusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow