梗概
- 新版本会逐步替换旧版本,通常是一个实例接一个实例地进行。
- 这意味着在更新的过程中,新版本的实例和旧版本的实例会同时存在于集群中。
- 这种方法是逐步进行的,不会像金丝雀发布那样特意停下来观察。
- 测试和监控是持续进行的,团队会在部署的同时监控新版本的健康状态。如果发现问题,可以在过程中及时回滚。
在Kubernetes中的应用
build::
滚动更新
Kubernetes Deployment 使用滚动更新作为默认的更新策略:
- 通过逐步替换 Pod 实现无缝更新,整个过程中服务不会中断
- 可以通过
maxSurge和maxUnavailable参数调整更新速度和资源使用- 支持暂停、继续和回滚操作,方便对更新过程进行控制
- 与 Kubernetes Service 结合使用,保证流量平滑过渡
优缺点
优点
- 零停机时间更新,用户体验连续
- 资源利用率高,不需要准备双倍资源
- 自动化程度高,减少人工干预
- 支持自动回滚,提高安全性
缺点
指向原始笔记的链接
- 新旧版本同时存在,可能导致兼容性问题
- 更新过程较长,不适合需要同步更新的场景
- 难以针对特定用户群体测试新功能