20.2. 替换网络器节点

在某些情况下,在高可用性集群中有一个 Networker 配置集的 Red Hat OpenStack Platform (RHOSP)节点可能会失败。替换 Networker 节点需要运行 openstack overcloud deploy 命令,以使用新节点更新 overcloud。

先决条件

  • 您的 RHOSP 部署具有高可用性,有三个或更多网络器节点。
  • 要添加的节点必须能够通过网络连接到集群中的其他节点。
  • 您已执行 第 20.1 节 “准备替换网络节点” 中介绍的步骤

流程

  1. stack 用户身份登录 undercloud。
  2. 查找 undercloud 凭证文件:

    示例

    $ source ~/stackrc

  3. 找出要删除的节点的索引:

    $ openstack baremetal node list -c UUID -c Name -c "Instance UUID"

    输出示例

    +--------------------------------------+------+--------------------------------------+
    | UUID                                 | Name | Instance UUID                        |
    +--------------------------------------+------+--------------------------------------+
    | 36404147-7c8a-41e6-8c72-6af1e339da2a | None | 7bee57cf-4a58-4eaf-b851-f3203f6e5e05 |
    | 91eb9ac5-7d52-453c-a017-0f2fb289c3cd | None | None                                 |
    | 75b25e9a-948d-424a-9b3b-0f2fb289c3cd | None | None                                 |
    | 038727da-6a5c-425f-bd45-16aa2bc4ba91 | None | 763bfec2-9354-466a-ae65-1fdf45d35c61 |
    | dc2292e6-4056-46e0-8848-165d06fcc948 | None | 2017b481-706f-44e1-852a-57fb03ecef11 |
    | c7eadcea-e377-4392-9fc3-716f1bd57527 | None | 5f73c7d7-4826-49a5-b6be-0a95c6bdd2f8 |
    | da3a8d19-8a59-4e9d-923a-29254d688f6d | None | cfefaf60-8311-4bc3-9416-46852e2cb83f |
    | 807cb6ce-6b94-4cd1-9969-d390650854c7 | None | c07c13e6-a845-4791-9628-c8514585fe27 |
    | 0c245daa-7817-4ae9-a883-fed2e9c68d6c | None | 844c9a88-713a-4ff1-8737-30858d724593 |
    | e6499ef7-3db2-4ab4-bfa7-feb44c6591c6 | None | aef7c27a-f0b4-4814-b0ff-d3f792321212 |
    | 7545385c-bc49-4eb9-b13c-201368ce1c62 | None | c2e40164-c659-4849-a28f-a7b270ed2970 |
    +--------------------------------------+------+--------------------------------------+

  4. 使用 baremetal node maintenance set 命令将节点设置为维护模式。

    示例

    $ openstack baremetal node maintenance set e6499ef7-3db2-4ab4-bfa7-ef59539bf972

  5. 创建一个 JSON 文件,将新节点添加到包含 RHOSP director 的节点池中。

    示例

    {
      "nodes":[
        {
            "mac":[
                "dd:dd:dd:dd:dd:dd"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"ipmi",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.168.24.207"
        }
      ]
    }

    有关更多信息,请参阅 Director 安装和使用 指南中的 向 overcloud 添加节点

  6. 运行 openstack overcloud node import 命令以注册新节点。

    示例

    $ openstack overcloud node import newnode.json

  7. 注册新节点后,使用以下命令启动内省过程:

    $ openstack baremetal node manage <node>
    $ openstack overcloud node introspect <node> --provide
  8. 使用 openstack baremetal node set 命令,使用 Networker 配置集标记新节点。

    示例

    $ openstack baremetal node set --property \
        capabilities='profile:networker,boot_option:local' \
        91eb9ac5-7d52-453c-a017-c0e3d823efd0

  9. 创建一个 ~/templates/remove-networker.yaml 环境文件,该文件定义您要删除的节点的索引:

    示例

    parameters:
    NetworkerRemovalPolicies:
       [{'resource_list': ['1']}]

  10. 创建 ~/templates/node-count-networker.yaml 环境文件,并在文件中设置 Networker 节点总数。

    示例

    parameter_defaults:
     OvercloudNetworkerFlavor: networker
     NetworkerCount: 3

  11. 运行 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

    RHOSP director 删除旧的 Networker 节点,创建一个新节点并更新 overcloud 堆栈。

验证

  1. 检查 overcloud 堆栈的状态:

    $ openstack stack list --nested
  2. 验证新的 Networker 节点是否已列出,并且删除旧节点是否已移除。

    $ openstack server list -c ID -c Name -c Status

    输出示例

    +--------------------------------------+------------------------+--------+
    | ID                                   | Name                   | Status |
    +--------------------------------------+------------------------+--------+
    | 861408be-4027-4f53-87a6-cd3cf206ba7a | overcloud-compute-0    | ACTIVE |
    | 0966e9ae-f553-447a-9929-c4232432f718 | overcloud-compute-1    | ACTIVE |
    | 9c08fa65-b38c-4b2e-bd47-33870bff06c7 | overcloud-compute-2    | ACTIVE |
    | a7f0f5e1-e7ce-4513-ad2b-81146bc8c5af | overcloud-controller-0 | ACTIVE |
    | cfefaf60-8311-4bc3-9416-6a824a40a9ae | overcloud-controller-1 | ACTIVE |
    | 97a055d4-aefd-481c-82b7-4a5f384036d2 | overcloud-controller-2 | ACTIVE |
    | 844c9a88-713a-4ff1-8737-6410bf551d4f | overcloud-networker-0  | ACTIVE |
    | c2e40164-c659-4849-a28f-507eb7edb79f | overcloud-networker-2  | ACTIVE |
    | 425a0828-b42f-43b0-940c-7fb02522753a | overcloud-networker-3  | ACTIVE |
    +--------------------------------------+------------------------+--------+

其他资源