【问题标题】:AWS EKS Cluster Autoscaler - Scale-In PolicyAWS EKS Cluster Autoscaler - 缩减策略
【发布时间】:2019-08-24 19:17:20
【问题描述】:

我在 EKS 上部署了一个 CA(集群自动扩缩器),随后是 this post。我想知道的是,只要在该节点上部署了至少 一个 pod 即如果有 3 个节点的容量为 8 个 pod,如果第 9 个 pod 出现,CA 就会自动缩小集群将提供第 4 个节点来运行第 9 个 pod。我看到的是 CA 不断终止并创建一个从集群中随机选择的节点,从而干扰其他 pod 和节点。

我如何告诉 EKS(不定义最小节点或在 ASG 中禁用缩减策略)不要杀死至少运行 1 个 pod 的节点。任何建议将不胜感激。

【问题讨论】:

    标签: kubernetes autoscaling amazon-eks


    【解决方案1】:

    您不能将 pod 用作单元。 CA 使用资源 cpu 和内存单元。

    如果集群没有足够的 cpu 或内存,则添加一个新的。

    您必须使用您的请求资源(在 pod 定义中)或重新定义您的节点以采用具有更多或更少资源的实例类型,具体取决于您希望每个 pod 有多少。

    或者你可以使用参数scale-down-utilization-threshold

    https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-the-parameters-to-ca

    【讨论】:

    • 每个 pod 都有 memory: 1500Mi 资源限制。它与scale-down-utilization-threshold 有什么关系?
    • 您的意思是,如果节点上的 pod 的内存 + CPU 利用率低于该节点的 50%,CA 会考虑将其移除,并且可以通过 scale-down-utilization-threshold 标志进行配置?
    • 不是资源限制,而是资源请求。如果您没有请求,CA 会认为它可以在具有 10mo 内存的节点上启动您的 pod 并杀死新节点。
    • 抱歉延迟回复。其实我是在做实验。我还将资源请求定义为与资源限制相同。似乎 CA 仍在从 EKS 中删除一个随机节点。 PS:我正在使用 helm 在 EKS 上部署东西。
    • 我想我必须设置scale-down-utilization-threshold。我不知道如何根据部署中定义的 CPU 和内存来计算这个值。
    猜你喜欢
    • 2020-03-31
    • 2022-07-21
    • 2022-01-12
    • 2019-12-02
    • 2016-06-17
    • 2021-12-30
    • 2020-09-30
    • 2021-06-01
    • 2018-12-31
    相关资源
    最近更新 更多