为什么在使用 EKS 节点组时 Pod 没有触发扩展?
Why a pod didn't trigger scale-up when working with EKS nodegroup?
我在 EKS 节点组上部署了 K8S 集群,并根据此文档部署了自动标量 https://docs.aws.amazon.com/eks/latest/userguide/cluster-autoscaler.html
节点大小为t3.large
即2cpu和8G内存大小为:
desired_size = 1
max_size = 3
min_size = 1
当我在此集群上部署 Elasticsearch pod 时:
containers:
- name: es
image: elasticsearch:7.10.1
resources:
requests:
cpu: 2
memory: 8Gi
收到此错误:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 57s (x11 over 11m) default-scheduler 0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory.
Normal NotTriggerScaleUp 49s (x54 over 10m) cluster-autoscaler pod didn't trigger scale-up: 1 Insufficient cpu, 1 Insufficient memory
不知道为什么缩放器没有被触发。
我能想到的一件事是pod请求的资源满足节点的最大容量。这就是它无法扩展的原因吗?规模是否可以将多个小节点资源组合成一个大节点?就像我启动了 3 个小节点,这些节点可以被一个 pod 使用?
实例类型不是实际可分配的容量,检查:
kubectl describe node <name> | grep Allocatable -A 7
更新:您可以使用 ASG 添加额外的节点组,将更大的实例类型用于自动缩放器,以达到 select 正确的大小。确保您的 ASG 已标记,以便自动缩放器可以自动发现这些 ASG。
k8s.io/cluster-autoscaler/enabled
k8s.io/cluster-autoscaler/<cluster-name>
我在 EKS 节点组上部署了 K8S 集群,并根据此文档部署了自动标量 https://docs.aws.amazon.com/eks/latest/userguide/cluster-autoscaler.html
节点大小为t3.large
即2cpu和8G内存大小为:
desired_size = 1
max_size = 3
min_size = 1
当我在此集群上部署 Elasticsearch pod 时:
containers:
- name: es
image: elasticsearch:7.10.1
resources:
requests:
cpu: 2
memory: 8Gi
收到此错误:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 57s (x11 over 11m) default-scheduler 0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory.
Normal NotTriggerScaleUp 49s (x54 over 10m) cluster-autoscaler pod didn't trigger scale-up: 1 Insufficient cpu, 1 Insufficient memory
不知道为什么缩放器没有被触发。
我能想到的一件事是pod请求的资源满足节点的最大容量。这就是它无法扩展的原因吗?规模是否可以将多个小节点资源组合成一个大节点?就像我启动了 3 个小节点,这些节点可以被一个 pod 使用?
实例类型不是实际可分配的容量,检查:
kubectl describe node <name> | grep Allocatable -A 7
更新:您可以使用 ASG 添加额外的节点组,将更大的实例类型用于自动缩放器,以达到 select 正确的大小。确保您的 ASG 已标记,以便自动缩放器可以自动发现这些 ASG。
k8s.io/cluster-autoscaler/enabled
k8s.io/cluster-autoscaler/<cluster-name>