跨项目规范 - 正在评审
用户故事追踪器 - 滚动升级追踪器
OpenStack 操作员通常因为担心升级的侵入性而避免升级或更新 OpenStack。这阻止了操作员充分利用他们的 OpenStack 云,特别是他们访问不断改进的平台以及与不断扩展的 OpenStack 生态系统互操作的能力。
以下用例涵盖了基于 OpenStack 上游代码库的部署。虽然一些功能可能被发行版提供商利用来改进他们对非破坏性更新和升级的支持,但它们在本文档中并未具体涵盖。
这就是为什么企业无法充分利用其 OpenStack 云的一个主要原因。升级和更新从来都不容易,并且在许多环境中需要控制平面和数据平面的长时间停机。 这是 OpenStack 平台固有的一种非云特性。修复升级和更新将消除许多限制 OpenStack 采用的担忧。
本节使用了 OpenStack UX 人物。
无。
今天的升级需要在数据平面、网络连接和通常的控制平面中进行停机。
目前阻止滚动升级的差距涵盖了许多方面,可以通过执行滚动升级的过程来最好地说明这些方面。
对于操作员来说,成功的云升级或更新涉及云中部署的所有 OpenStack 服务。因此,这些方面中的许多方面都需要对操作员可能部署的所有项目进行增强。我们首先回顾这些项目
多版本互操作性
在滚动升级期间,重要的是 RPC 通信能够处理并发运行的多个服务版本。实现此功能的一种常见模式是版本对象。Oslo 中存在版本对象库。每个单独的项目必须考虑版本对象是否是多版本互操作性工作的正确工具。以下是常用 OpenStack 项目的版本对象状态
在线模式迁移
与多版本互操作性一样,在线模式迁移也以多种方式解决。一些项目建议在整个开发周期内进行标准的模式扩展和收缩,而不是在升级时进行在线操作。以下是常用 OpenStack 项目的在线模式迁移状态
维护模式
维护模式仅在整个主机用于创建虚拟资源的服务中才有用。以下是适用 OpenStack 项目的维护模式状态
实时迁移
与维护模式一样,实时迁移仅适用于主机提供资源的服务。以下是适用 OpenStack 项目的实时迁移状态
优雅关闭
优雅关闭适用于所有常用的 OpenStack 服务,并且应该导致在处理完现有请求后才能关闭服务。以下是常用 OpenStack 项目的优雅关闭状态
其他方面需要在特定的编排项目或 OpenStack 基础设施中进行工作。
升级编排
在 OpenStack 中,许多云部署机制都致力于提供升级编排。根据参考架构,每种部署机制将确定执行滚动升级的适当顺序和方法。每种部署方法对滚动升级的处理状态如下
升级门控
OpenStack 基础设施尚未开始将升级测试部署到通用门控中。有一个可用的多节点升级测试框架,称为 Grenade。一些项目已经开始在其门控中包含升级测试。
项目标记
存在项目元数据标签,以表明给定的 OpenStack 项目能够执行滚动升级。* 状态 - 已实现
无。