gpt4 book ai didi

kubernetes - 在启动新 Pod 之前强制关闭 Kubernetes Pod,以防中断

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

我正在尝试在 Kubernetes 中设置有状态的 Apache Flink 应用程序,我需要保存当前状态以防出现中断,例如有人删除 pod 或由于集群调整大小而重新安排它。

我向完成此行为的容器添加了一个 preStop Hook ,但是当我使用 kubectl delete pod 删除一个 pod 时它会在旧 Pod 终止之前启动一个新 Pod。

this one 等指南使用重新创建更新策略来确保一次只运行一个 pod。这在更新部署的情况下可以正常工作,但它不包括我上面描述的中断。我也尝试设置spec.strategy.rollingUpdate.maxSurge到 0 但这没有什么区别。

是否可以将我的部署配置为在另一个 pod 终止之前不会启动任何 pod,或者我是否需要切换到 StatefulSets?

最佳答案

我同意@Cosmic Ossifrage 作为StatefulSets让您轻松实现目标。 StatefulSets 中的每个 Pod由 Kubernetes Engine 维护的唯一、持久的身份和稳定的主机名表示,无论它们被安排在哪里。

因此,StatefulSets假设 Kubernetes StatefulSet Controller 在完全删除前一个 Pod 后每次删除一个 Pod,则按顺序部署并以相反的顺序终止。

关于kubernetes - 在启动新 Pod 之前强制关闭 Kubernetes Pod,以防中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52165420/

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