8.5. 缩减裸机节点

~/overcloud-baremetal-deploy.yaml 文件中标记您要从堆栈中删除的节点,重新部署 overcloud,然后使用 --baremetal-deployment 选项将该文件包含在 openstack overcloud node delete 命令中。

先决条件

步骤

  1. 查找 stackrc undercloud 凭据文件:

    $ source ~/stackrc
  2. 编辑用于置备裸机节点的 ~/overcloud-baremetal-deploy.yaml 文件,并减少您要缩减的角色的 count 参数。还必须为要从堆栈中删除的每个节点定义以下属性:

    • 节点的名称。
    • 与节点关联的主机名。
    • 属性 provisioned: false

      例如,要从堆栈中删除节点 overcloud-controller-1,请在 ~/overcloud-baremetal-deploy.yaml 文件中包括以下内容:

      - name: Controller
        count: 2
        instances:
        - hostname: overcloud-controller-0
          name: node00
        - hostname: overcloud-controller-1
          name: node01
          # Removed from cluster due to disk failure
          provisioned: false
        - hostname: overcloud-controller-2
          name: node02
  3. 运行置备命令,指定 ~/overcloud-baremetal-deploy.yaml 文件,并使用 --output 选项定义输出文件:

    (undercloud) $ sudo openstack overcloud node provision \
    --stack stack \
    --output ~/overcloud-baremetal-deployed.yaml \
    ~/overcloud-baremetal-deploy.yaml
  4. 重新部署 overcloud,并包含置备命令生成的 ~/overcloud-baremetal-deployed.yaml 文件,以及与部署相关的任何其他环境文件:

    (undercloud) $ openstack overcloud deploy \
      ...
      -e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-environment.yaml \
      -e ~/overcloud-baremetal-deployed.yaml \
      --deployed-server \
      --disable-validations \
      ...

    重新部署 overcloud 后,堆栈中不再存在使用 provisioned: false 属性定义的节点。但是,这些节点仍然以置备状态运行。

    注意

    如果要临时从堆栈中删除节点,您可以使用 provisioned: false 属性部署 overcloud,然后使用 provisioned: true 属性重新部署 overcloud,以将节点返回到堆栈。

  5. 运行 openstack overcloud node delete 命令,包括带有 --baremetal-deployment 选项的 ~/overcloud-baremetal-deploy.yaml 文件。

    (undercloud) $ sudo openstack overcloud node delete \
    --stack stack \
    --baremetal-deployment ~/overcloud-baremetal-deploy.yaml
    注意

    不要将您要从堆栈中删除的节点作为命令参数包括在 openstack overcloud node delete 命令中。