【问题标题】:How to implement graceful termination of nodes without service downtime when using cluster auto-scaler?使用集群自动缩放器时如何在不停机的情况下实现节点的优雅终止?
【发布时间】:2019-10-06 10:55:27
【问题描述】:

我已经使用 EKS 设置了 K8S 集群。 Cluster Auto-scaler (CA) 已配置为根据 Pod 的资源可用性增加/减少节点数量。如果不需要节点,CA 将终止该节点,并且该节点上的 pod 可以调度到另一个节点。在这里,CA 在重新调度另一个节点上的 Pod 之前终止该节点。因此,在节点终止后,pod 会被安排在另一个节点上。因此,在重新安排的 pod 变得健康之前,某些服务会出现一些停机时间。

如何通过确保在节点终止之前将 pod 安排在另一个节点上来避免停机?

节点的正常终止时间设置为 10 分钟(默认)。

【问题讨论】:

    标签: kubernetes autoscaling high-availability amazon-eks


    【解决方案1】:

    您需要运行应用程序的多个副本。即使在节点突然死亡的情况下,这也将使您的应用程序能够生存。此外,您可能希望为您的应用清单配置antiAffinity 规则,以确保副本驻留在不同的节点上。

    【讨论】:

    • 我不想为每个 pod 保留多个副本。因为大部分资源将被使用,这会增加成本。根据 CA 文档,它执行优雅的缩减,这应该在节点终止之前将 Pod 重新调度到其他地方。我想我缺少一些 Cluster-Autoscaler 的配置。
    猜你喜欢
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 2019-09-10
    • 2021-10-10
    • 2016-04-17
    • 2016-06-14
    • 2018-01-10
    • 1970-01-01
    相关资源
    最近更新 更多