梗概

  • 新版本会逐步替换旧版本,通常是一个实例接一个实例地进行。
    • 这意味着在更新的过程中,新版本的实例和旧版本的实例会同时存在于集群中。
  • 这种方法是逐步进行的,不会像金丝雀发布那样特意停下来观察。
    • 测试和监控是持续进行的,团队会在部署的同时监控新版本的健康状态。如果发现问题,可以在过程中及时回滚。

在Kubernetes中的应用

build::

滚动更新

Kubernetes Deployment 使用滚动更新作为默认的更新策略:

  • 通过逐步替换 Pod 实现无缝更新,整个过程中服务不会中断
  • 可以通过 maxSurgemaxUnavailable 参数调整更新速度和资源使用
  • 支持暂停、继续和回滚操作,方便对更新过程进行控制
  • Kubernetes Service 结合使用,保证流量平滑过渡

优缺点

优点

  • 零停机时间更新,用户体验连续
  • 资源利用率高,不需要准备双倍资源
  • 自动化程度高,减少人工干预
  • 支持自动回滚,提高安全性

缺点

  • 新旧版本同时存在,可能导致兼容性问题
  • 更新过程较长,不适合需要同步更新的场景
  • 难以针对特定用户群体测试新功能
指向原始笔记的链接