rollingUpdate 策略是 Kubernetes 中的一种 Deployment 更新策略,可以在不停止整个应用程序的情况下逐步更新 Pod。
具体来说,rollingUpdate 策略会按顺序更新每个 ReplicaSet 的 Pod。在更新过程中,它会在新版本 ReplicasSet 中创建一个新的 Pod,并将其与旧版本 ReplicaSet 中正在运行的 Pod 并行运行。然后,rollingUpdate 策略将逐渐取消旧版本 ReplicaSet 中的 Pod,并增加新版本 ReplicaSet 中的 Pod 数量,直到所有 Pod 都已被更新为新版本。在这个过程中,Deployment 保证了应用程序的可用性和稳定性。
rollingUpdate 策略有两个参数:
- maxUnavailable:指定在更新过程中允许下线的最大 Pod 数量。默认为 1,表示每次更新只能关闭一个 Pod。
- maxSurge:指定在更新过程中可以同时启动的最大 Pod 数量。默认情况下,maxSurge 和 maxUnavailable 的总和不能超过副本数。
注意,rollingUpdate 策略只适用于基于 ReplicaSet 的 Deployment,而不适用于基于 DaemonSet 或 StatefulSet 的应用程序。