gpt4 book ai didi

kubernetes - StatefulSet 的策略替换

转载 作者:行者123 更新时间:2023-12-02 12:25:00 25 4
gpt4 key购买 nike

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

我想在不先使用 Kubectl delete 的情况下立即替换所有 StatefulSet 副本。是否可以将 list 更改为策略:替换为 Deployments 并继续使用 kubectl apply ...

最佳答案

当前 StatefulSets只支持两种update strategies :

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

  • OnDelete:OnDelete 更新策略实现了旧版(1.6 及之前)的行为。当 StatefulSet 的 .spec.updateStrategy.type 设置为 OnDelete 时,StatefulSet Controller 不会自动更新 StatefulSet 中的 Pod。用户必须手动删除 Pod 才能使 Controller 创建新的 Pod,以反射(reflect)对 StatefulSet 的 .spec.template 所做的修改。

但是,有计划实现 MaxUnavailable Rolling Update to StatefulSet .它允许您根据 maxUnavailble 策略一起更新 X 个副本。这导致了这个 update proposal但它还没有完成,从最新的评论来看,它应该被设置为 Kubernetes 1.20 的里程碑。

关于kubernetes - StatefulSet 的策略替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64463797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com