更新 Deployment 的注意事项

历史版本清理策略

  • 在默认情况下,revision 保留 10 个旧的 ReplicaSet,其余的将在后台进行垃圾回收。

  • 可以在 .spec.revisionHistoryLimit 设置保留 ReplicaSet 的个数。

    • 当设置为 0 时,不保留历史记录。

更新策略

  • .spec.strategy.type=Recreate:表示重建,先删掉旧的 Pod,再创建新的 Pod。

  • .spec.strategy.type=RollingUpdate:表示滚动更新,可以指定 maxUnavailable maxSurge 来控制滚动更新过程。

    • .spec.strategy.rollingUpdate.maxUnavailable:指定在回滚更新时最大不可用的 Pod 数量,可选字段,默认为 25%,可以设置为数字百分比。

      如果 maxSurge 为 0,则该值不能为 0。

    • .spec.strategy.rollingUpdate.max可以超过期望值的最大 Pod 数,可选字段,默认为 25%,可以设置成数字百分比。

      如果 maxUnavailable 为 0,则该值不能为 0。

Ready 策略

.spec.minReadySeconds 是可选参数,指定新创建的 Pod 应该在没有任何容器崩溃的情况下视为 Ready(就绪)状态的最小秒数默认为 0,即一旦被创建就视为可用,通常和容器探针连用

最后更新于