StatefulSet的策略替换



我的开发环境和CI上的StatefulSet更新有一个简单的问题。

我想立即替换所有StatefulSet副本,而不需要先使用Kuectl删除。是否可以将清单更改为策略:在Deployments中替换为,并继续使用kubectl apply。。。

目前StatefulSets只支持两种更新策略:

  • RollingUpdate:RollingUpdate更新策略为StatefulSet中的Pod实现自动滚动更新。当未指定.spec.updateStrategy时,这是默认策略。当State富尔set的.spec.updateStrategy.type设置为RollingUpdate时,State富尔set控制器将删除并重新创建State富尔set中的每个Pod。它将按照与Pod终止相同的顺序(从最大序数到最小序数(进行,每次更新一个Pod。它将等待更新的Pod运行并准备就绪后再更新其前身。

  • OnDeleteOnDelete更新策略实现了遗留(1.6及以前版本(行为。当State富尔set的.spec.updateStrategy.type设置为OnDelete时,State富尔set控制器不会自动更新State富尔set中的Pod。用户必须手动删除Pod,以使控制器创建反映对StatefulSet的.spec.template所做修改的新Pod。

但是,有一个计划是实现对StatefulSet的MaxUnavailable滚动更新。它将允许您根据maxUnavailble策略一起更新X个副本。它导致了这个更新提案,但它还没有完成,从最新的评论来看,它应该被设定为Kubernetes 1.20的一个里程碑。

相关内容

  • 没有找到相关文章

最新更新