目前,我们将其中一个状态集缩放为11个副本。我们当前的更新策略是
updateStrategy:
type: RollingUpdate
如果我们从头开始部署有状态集,Kubernetes会一个接一个地启动它们。要启动一个副本,大约需要5分钟。因此,我们总共要等待55分钟才能填满容量。
从头开始时,有没有办法立即填满容量?这样所有11个副本将同时启动?
出于故障安全性,应通过RollingUpdate处理已经存在的有状态集的升级。
最良好的祝愿,斯蒂芬
我不这么认为。 StatefulSets出于安全性而设计,因此控制器一次只能操作一个吊舱。
我们发现答案隐藏在文档的深处:
Pod管理策略
在Kubernetes 1.7和更高版本中,StatefulSet允许您放宽其顺序保证,同时通过其.spec.podManagementPolicy字段保留其唯一性和身份保证。
OrderedReady Pod管理
OrderedReady Pod管理是StatefulSet的默认设置。它实现了上述行为。
并行Pod管理
并行Pod管理告诉StatefulSet控制器并行启动或终止所有Pod,并且不要在启动或终止另一个Pod之前等待Pod变为运行就绪状态或完全终止。此选项仅影响缩放操作的行为。更新不受影响。