首页/开发/CI/CD 与发布速查/K8s 滚动更新(RollingUpdate)
发布策略60 条

K8s 滚动更新(RollingUpdate)

Kubernetes Deployment 的默认发布策略:控制器新建 ReplicaSet 逐步扩容新版本 Pod、缩容旧版本 Pod,过程中两版本共存,发布节奏由 maxSurge 与 maxUnavailable 控制。

CI/CD 与发布速查开发更新于 2026-10-12
默认策略Deployment 未指定时即 RollingUpdate
节奏字段maxSurge(多建多少)、maxUnavailable(可少多少)
超时兜底progressDeadlineSeconds 默认 600 秒
过程查看kubectl rollout status

发起并跟踪更新

发起并跟踪更新
kubectl set image deployment/web web=registry.example.com/web:1.9.0
kubectl rollout status deployment/web --timeout=300s
滚动期间新旧 Pod 同时在 Service 后端:接口、消息格式与共享存储都要保持两版本兼容。

易错点

  • 两版本共存期改动了不兼容行为:旧 Pod 还没退完,调用方仍会命中旧版本
  • 新 Pod 因配额或镜像拉取长期 Pending:更新卡在中间态,需要监控 rollout 超时

数据来源与参考

  • Kubernetes 文档《Deployments》
  • Kubernetes 文档《Performing a Rolling Update》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌