我使用EKS与K8S节点组。
期望节点为1,最大值为3。
当前,只有一个ec2 (t3.xlarge)正在运行。
当我在一个命名空间中部署两个pod时,每个请求8G内存和2个CPU,第一个部署成功,但第二个失败,错误为1 Insufficient cpu, 1 Insufficient memory
。
我希望EKS应该扩展一个节点来分配这个新pod,但它没有。
有人知道为什么自动缩放没有发生吗?我理解错了什么?
对于Amazon EKS,您需要在使用AutoScaler之前遵循这些规则
https://docs.aws.amazon.com/eks/latest/userguide/cluster-autoscaler.html
来自以上官方文档:
我已经强调了你的问题所在
先决条件在部署群集自动缩放器之前,必须满足以下先决条件:
已有Amazon EKS集群—如果您没有集群,请参见创建Amazon EKS集群。
集群的现有IAM OIDC提供程序。要确定您是否有一个或需要创建一个,请参见为您的集群创建IAM OIDC提供程序。
带有自动缩放组标签的节点组-集群自动缩放器需要在自动缩放组上使用以下标签,以便可以自动发现它们。
如果您使用eksctl创建节点组,这些标记将自动应用。
如果你没有使用eksctl,你必须用以下标签手动标记你的自动缩放组。
<表类>键值 tbody><<tr>k8s.io/cluster-autoscaler/& lt; cluster-name> 拥有 k8s.io cluster-autoscaler/启用 对 表类>
在部署群集自动缩放器之前,必须满足以下先决条件:
已有Amazon EKS集群—如果您没有集群,请参见创建Amazon EKS集群。
集群的现有IAM OIDC提供程序。要确定您是否有一个或需要创建一个,请参见为您的集群创建IAM OIDC提供程序。
带有自动缩放组标签的节点组-集群自动缩放器需要在自动缩放组上使用以下标签,以便可以自动发现它们。
如果您使用eksctl创建节点组,这些标记将自动应用。
如果你没有使用eksctl,你必须用以下标签手动标记你的自动缩放组。