2.4. 更新 Overcloud 软件包


Overcloud 依赖于标准的 RPM 方法来更新环境。这涉及使用来自 director 的 openstack overcloud 更新在所有节点上执行更新

使用 -e 包含与 Overcloud 及其升级路径相关的环境文件。环境文件的顺序非常重要,因为后续环境文件中定义的参数和资源更为优先。以下列表是环境文件顺序的示例:

  • heat 模板集合中 overcloud-resource-registry-puppet.yaml 文件。虽然在运行 openstack overcloud deploy 命令时自动包含此文件,但在运行 openstack overcloud update 命令时,您必须包含此文件
  • 任何网络隔离文件,包括 heat 模板集合中初始化文件(environment/network-isolation.yaml),然后是自定义 NIC 配置文件。
  • 任何外部负载平衡环境文件。
  • 任何存储环境文件。
  • 任何用于红帽 CDN 或 Satellite 注册的环境文件。
  • 任何其它自定义环境文件。

在并行的所有节点上运行更新可能会导致问题。例如,软件包更新可能涉及重启服务,这可能会中断其他节点。这就是为什么更新过程使用一组断点更新每个节点。这意味着节点会逐一更新。当一个节点完成软件包更新时,更新过程会进入下一个节点。更新过程还需要使用 -i 选项,该选项会将命令置于交互模式,要求在每个断点上确认。如果没有 the -i 选项,则更新将在第一个断点上保持暂停。

以下是用于更新 Overcloud 的 update 命令示例:

$ openstack overcloud update stack overcloud -i \
  --templates  \
  -e /usr/share/openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml \
  -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
  -e /home/stack/templates/network-environment.yaml \
  -e /home/stack/templates/storage-environment.yaml \
  -e /home/stack/templates/rhel-registration/environment-rhel-registration.yaml \
  [-e <environment_file>|...]
Copy to Clipboard Toggle word wrap

运行这个命令会启动更新过程。在此过程中,director 会报告 IN_PROGRESS 状态,并定期提示您清除断点。例如:

not_started: [u'overcloud-controller-0', u'overcloud-controller-1', u'overcloud-controller-2']
on_breakpoint: [u'overcloud-compute-0']
Breakpoint reached, continue? Regexp or Enter=proceed, no=cancel update, C-c=quit interactive mode:
Copy to Clipboard Toggle word wrap

按 Enter 从 on_breakpoint 列表中的最后一个节点中清除断点。这将开始对该节点的更新。您还可以键入节点名称来清除特定节点上的断点,或基于 Python 的正则表达式来一次性清除多个节点上的断点。但是,不建议一次在多个控制器节点上清除断点。继续这个过程,直到所有节点都完成其更新。

更新完成后,update 命令会报告 COMPLETE 状态:

...
IN_PROGRESS
IN_PROGRESS
IN_PROGRESS
COMPLETE
update finished with status COMPLETE
Copy to Clipboard Toggle word wrap

如果您为 Controller 节点配置了隔离功能,更新过程可能会禁用它。更新过程完成后,在其中一个 Controller 节点上使用以下命令重新启用隔离:

$ sudo pcs property set stonith-enabled=true
Copy to Clipboard Toggle word wrap
重要

更新过程不会自动重新引导 Overcloud 中的任何节点。如果需要,在更新完成后手动执行重启。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat