Deployment、ReplicaSet和Pod三者关系

发布时间 2023-07-16 10:05:16作者: 王景迁

Deployment控制ReplicaSet(版本),ReplicaSet控制Pod(副本数)。

更新策略

Recreate

删除所有已存在的pod,重新创建新的; 

RollingUpdate

滚动升级
spec.minReadySeconds: 新建Pod状态保持Ready持续时间的最小值,才被认为Pod Ready。
spec.strategy.rollingUpdate.maxSurge: 整数或者百分比,计算时向上取整(3.4取4),Pod数超过replicas的最大值。
spec.strategy.rollingUpdate.maxUnavailable: 整数或者百分比,计算时向下取整(3.6取3),不Ready Pod数的最大值。
滚动更新过程中,保证Ready Pod数不低于replicas - maxUnavailable,Pod数不多于 replicas + maxSurge。
刚开始,滚动更新时,创建maxSurge个Pod,删除maxUnavailable个Pod。后面根据实际情况确定。

参考资料

《深入剖析Kubernetes》