首页 > 解决方案 > 为什么 nodegroup 不扩展以在 EKS 中分配新 pod?

问题描述

我将 EKS 与 K8S 的节点组一起使用。
所需节点为 1,最大值为 3。

目前,只有一个 ec2 (t3.xlarge) 正在运行。
当我在一个命名空间中部署两个 pod,每个请求 8G 内存和 2 个 CPU 时,第一个部署成功,但第二个失败并出现错误1 Insufficient cpu, 1 Insufficient memory

我希望 EKS 应该再扩展一个节点来分配这个新的 pod,但事实并非如此。
有谁知道为什么自动缩放不会发生?我理解错了什么?

标签: kubernetesamazon-eks

解决方案


使用 Amazon EKS,您需要在使用 AutoScaler 之前遵循这些规则

https://docs.aws.amazon.com/eks/latest/userguide/cluster-autoscaler.html

从上面的官方文档:

我已经强调了可能是您的问题

先决条件

  • 在部署 Cluster Autoscaler 之前,您必须满足以下先决条件:

  • 拥有现有的 Amazon EKS 集群 – 如果您没有集群,请参阅创建 Amazon EKS 集群。

  • 您的集群的现有 IAM OIDC 提供程序。要确定您是否拥有或需要创建一个,请参阅为您的集群创建 IAM OIDC 提供程序。

  • 具有 Auto Scaling 组标签的节点组 – Cluster Autoscaler 需要 Auto Scaling 组上的以下标签,以便可以自动发现它们。

  • 如果您使用 eksctl 创建节点组,则会自动应用这些标签。

  • 如果您未使用 eksctl,则必须使用以下标签手动标记您的 Auto Scaling 组。

    钥匙 价值
    k8s.io/cluster-autoscaler/<集群名称> 拥有
    k8s.io/cluster-autoscaler/启用 真的

推荐阅读