gpt4 book ai didi

kubernetes - Kubernetes自动回滚

转载 作者:行者123 更新时间:2023-12-02 11:37:28 26 4
gpt4 key购买 nike

我试图为docker-swarm rollback命令找到一些替代方法,该命令可让您在部署文件中指定回滚策略。
理想情况下,在k8s中,应使用readinessProbe,如果未通过failureThreshold,则应回滚,然后再开始部署下一个Pod(以避免停机)。

当前,在我的部署脚本中,我使用的是hook kubectl rollout status deployment $DEPLOYMENT_NAME || kubectl rollout undo deployment $DEPLOYMENT_NAME,但是它并不理想,因为在部署了不健康的Pod之后,第一个推出命令将触发错误方式,一个健康的pod将被销毁,这将导致停机。

理想情况下,在新的Pod通过readinessProbe之前,它甚至不应该杀死当前Pod

最佳答案

Kubernetes部署中没有特定的回滚策略。您可以尝试将RollingUpdatemax unavailable(又名Proportional Scaling)组合使用,然后在某些情况下pause your deployment恢复正常(如果一切正常),然后在出现问题时回滚。

推荐的方法实际上是使用另一种部署,因为canary通过金丝雀和非金丝雀之间的负载平衡器分配了流量,然后,如果一切顺利,请升级非金丝雀并关闭金丝雀。如果出现问题,请关闭金丝雀,并保留非金丝雀,直到问题解决。

另一种策略是使用类似于Istio的东西来简化canary deployments

关于kubernetes - Kubernetes自动回滚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53606057/

26 4 0