【问题标题】:Prevent Kubernetes rescheduling hundreds of pods when a node is failing防止 Kubernetes 在节点发生故障时重新调度数百个 Pod
【发布时间】:2018-08-09 09:45:06
【问题描述】:

我正在使用具有 2 个工作人员的 Kubernetes 集群。我有大约 100 个部署。他们每个人都有 2 或 4 个副本(所以我每个工人大约有 300 个 pod,是的,这是很多 pod)。

我的问题是: 当一个 worker 宕机时,Kubernetes 会尝试在剩余的活动节点上重新部署每个失败的 pod。所以在操作结束时我有: - 具有 600 个 pod 的剩余活动工作节点 - 主节点平均负载是熔岩,因为它们正在重新调度 300 个 pod - 当失败的工作节点重新活跃时,他是空的,因为每个 pod 都在另一个工作节点上。

我找到的唯一解决方案: 为每个应用程序(每个工作人员一个)进行 2 次部署,以防止重新安排 300 个 pod。

请问有更好的解决方案吗?

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    是的,对于 2 个 pod 部署,您可以采用的一种方法是使用 Pod Anti-Affinity 来表示来自给定部署的 pod 不能在同一台服务器上共存,这将导致最多 1 个 pod每个服务器都开始部署,其余的处于待处理状态,直到新节点可用。

    【讨论】:

    • 请问您有 YAML 部署的示例吗?这意味着您可以为每个节点的每个部署拥有一个 pod,仅此而已吗?如果我希望每个部署有 2 个 pod 怎么办?
    猜你喜欢
    • 2021-02-03
    • 1970-01-01
    • 1970-01-01
    • 2018-10-01
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    • 2015-11-06
    • 2021-04-06
    相关资源
    最近更新 更多