Rolling Deployment
滚动部署
滚动部署会分批用新版应用替换旧版。每一步只替换运行组的一部分,因此新旧版本可能同时存在。
old batch -> start and verify new batch -> drain old batch -> repeat- 1v1
- 2v1
- 3v2 ✓
- 4v2 ✓
2 / 2 ready→old batch -> start and verify new batch -> drain old batch -> repeatOPS另一个例子
某服务有四个运行实例。可以多启动一个,但不能少掉任何一个。每批就绪后,才能替换下一批。
主要部分
- 01旧版运行实例组
- 02新版运行实例组
- 03批次大小
- 04不可用与额外容量上限
- 05就绪与停止接收流量
- 06暂停与回滚规则
什么时候用
新旧版本能同时运行,而且能维持足够容量时,可以使用滚动部署。要定义批次、就绪、暂停、失败和回滚规则。
什么时候不要用
不要保证完全不停机。就绪检查不足、容量太少、长连接或不兼容的数据改动,仍可能中断服务。
代码里的名称
old batch -> start and verify new batch -> drain old batch -> repeat 上线前要检查
发布前核对正确的代码仓库、分支、目标与代码差异。保留尚未发布的工作,并通过审查与自动检查(CI)。记录冲突、数据丢失风险、发布顺序、版本追踪、恢复与回到上一版的方法。
预期结果:用 滚动部署 (Rolling Deployment) 安全交付或恢复变更,并留下可审核记录。 用户场景:某服务有四个运行实例。可以多启动一个,但不能少掉任何一个。每批就绪后,才能替换下一批。 交付概念或操作:滚动部署 (Rolling Deployment)。 适用理由:新旧版本能同时运行,而且能维持足够容量时,可以使用滚动部署。要定义批次、就绪、暂停、失败和回滚规则。 不应使用的情况:不要保证完全不停机。就绪检查不足、容量太少、长连接或不兼容的数据改动,仍可能中断服务。 交付要求:指出代码仓库与目标。列出前置条件、变更内容、审查与自动检查(CI)、冲突和数据丢失风险、发布顺序,以及恢复或回到上一版的命令。 仓库防护:保留尚未发布的工作与可审核历史。没有明确备份时,不得执行破坏性操作。发布前核对准确的代码差异与远程仓库目标。 验收标准:预期的代码差异已审查,必要检查已通过。目标版本可追踪,失败恢复已演练,发布历史也可审核。 证据与限制(证据边界):没有一份官方标准能涵盖全部内容。不同团队、平台或框架的用法可能不同。 待确认:代码仓库与分支、协作状态、发布环境、批准负责人、受保护的检查,以及要恢复的版本。
检查这份需求
请 AI 编程助手检查当前如何使用 滚动部署 (Rolling Deployment)。 定义:滚动部署会分批用新版应用替换旧版。每一步只替换运行组的一部分,因此新旧版本可能同时存在。 生产环境检查:发布前核对正确的代码仓库、分支、目标与代码差异。保留尚未发布的工作,并通过审查与自动检查(CI)。记录冲突、数据丢失风险、发布顺序、版本追踪、恢复与回到上一版的方法。 修改程序前,先列出看到的证据、缺口、严重程度,以及最小且安全的修正。