繁体   English   中英

如何在 k8s 中错开创建 pod

[英]how to stagger pod creation in k8s

我有一个关于滚动部署的快速问题。 我试图确保 App Pod 的创建是交错的。 我查看了maxSurgemaxUnavailable ,它们似乎是控制滚动部署的唯一设置。 这两个设置都根据旧的副本集来讨论 pod 创建。 我想确保即使当前没有部署正在运行时 pod 的创建也是交错的。

示例:如果我将maxSurge设置为 1 并将复制设置为 5,那么在存在旧部署的情况下,滚动更新策略将做正确的事情并一次启动一个 pod,但如果没有旧部署,所有 5 个 pod 将一起出现在一个新的部署中,这是我试图避免的事情。

您所解释的是在没有现有部署的情况下的预期行为。 因此,您要进行有序部署-一个吊舱一个接一个。

尝试将应用程序部署为有状态集。 https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/

还请注意b / wa部署和有状态集的差异,例如,在有状态集的情况下不回滚https://blog.thecodeteam.com/2017/08/16/technical-dive-statefulsets-deployments-kubernetes/

您可以尝试利用 HorizontalPodAutoscaler 和一个自定义指标,该指标可以设置为任何值,从而产生您想要的副本数。 然后只需配置您的 HPA,使其一次只能扩展这么多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM