16.8. 阻止列出节点


您可以阻止 overcloud 节点获得更新的部署内容。这在某些情况下非常有用,比如,您想要扩展新节点,并阻止现有节点获得核心 heat 模板集合中更新的参数和资源集合。这意味着列入黑名单的节点与堆栈操作的影响隔离。

使用环境文件中的 DeploymentServerBlacklist 参数来创建 blocklist。

设置块列表

DeploymentServerBlacklist 参数是服务器名称列表。可以将其写入新的环境文件,或将参数值添加到现有的自定义环境文件,然后将此文件传递给部署命令:

parameter_defaults:
  DeploymentServerBlacklist:
    - overcloud-compute-0
    - overcloud-compute-1
    - overcloud-compute-2
Copy to Clipboard Toggle word wrap
注意

参数值中的服务器名称是由 OpenStack Orchestration (heat) 规定的名称,并非实际的服务器主机名。

将此环境文件包含到 openstack overcloud deploy 命令中:

$ source ~/stackrc
$ openstack overcloud deploy --templates \
  -e server-blocklist.yaml \
  -e [...]
Copy to Clipboard Toggle word wrap

Heat 阻止列表中任何服务器从接收更新的 heat 部署列表。在堆栈操作完成后,任何列入黑名单的服务器都会保持不变。您也可以在操作过程中关闭或停止 os-collect-config 代理。

警告
  • 当您阻止列出节点时,请小心谨慎。只有在您完全了解如何使用块列表应用请求的更改时,才使用 blocklist。在使用 blocklist 功能时,可以创建挂起堆栈或配置 overcloud。例如,如果集群配置更改应用到 Pacemaker 集群的所有成员,在此更改时阻止 Pacemaker 集群成员列出可能会导致集群失败。
  • 不要在更新或升级过程中使用 blocklist。这些过程本身有一些方法可将更改操作与特定服务器进行隔离。
  • 将服务器添加到 blocklist 时,不支持进一步更改这些节点,直到您从 blocklist 中删除服务器。这包括更新、升级、扩展、缩减和节点替换等操作。例如,当您在使用新的 Compute 节点扩展 overcloud 时阻止了现有 Compute 节点时,列入黑名单的节点丢失添加到 /etc/hosts/etc/ssh/ssh_known_hosts 的信息。这可能导致实时迁移失败,具体取决于目标主机。在下一次 overcloud 部署过程中,利用添加到 /etc/hosts/etc/ssh/ssh_known_hosts 中的信息更新 Compute 节点,这些节点不再被阻止列表。不要手动修改 /etc/hosts/etc/ssh/ssh_known_hosts 文件。要修改 /etc/hosts/etc/ssh/ssh_known_hosts 文件,请运行 overcloud 部署命令,如 清除 Blocklist 部分所述。

清除块列表

要清除 blocklist 用于后续的堆栈操作,请编辑 DeploymentServerBlacklist 以使用空数组:

parameter_defaults:
  DeploymentServerBlacklist: []
Copy to Clipboard Toggle word wrap
警告

不要省略 DeploymentServerBlacklist 参数。如果省略该参数,overcloud 部署将使用先前保存的参数值。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat