EKS 集群中的 Pod 创建失败并出现 FailedScheduling 错误

Jag*_*886 10 kubernetes amazon-eks eksctl

我在公共子网中创建了一个具有 1 个工作节点的新 EKS 集群。我能够查询节点、连接到集群并运行 pod 创建命令,但是,当我尝试创建 pod 时,它失败并出现通过描述 pod 得到的以下错误。请指导。

    Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
    Events:
      Type     Reason            Age   From               Message
      ----     ------            ----  ----               -------
      Warning  FailedScheduling  81s   default-scheduler  0/1 nodes are available: 1 Too many pods. preemption: 0/1 nodes are available: 1 No preemption victims found for incoming pod.
  Warning  FailedScheduling  16m                 default-scheduler  0/2 nodes are available: 2 Too many pods, 2 node(s) had untolerated taint {node.kubernetes.io/unschedulable: }, 2 node(s) were unschedulable. preemption: 0/2 nodes are available: 2 Preemption is not helpful for scheduling.
  Warning  FailedScheduling  16m                 default-scheduler  0/3 nodes are available: 2 node(s) had untolerated taint {node.kubernetes.io/unschedulable: }, 2 node(s) were unschedulable, 3 Too many pods. preemption: 0/3 nodes are available: 1 No preemption victims found for incoming pod, 2 Preemption is not helpful for scheduling.
  Warning  FailedScheduling  14m (x3 over 22m)   default-scheduler  0/2 nodes are available: 1 node(s) had untolerated taint {node.kubernetes.io/unschedulable: }, 1 node(s) were unschedulable, 2 Too many pods. preemption: 0/2 nodes are available: 1 No preemption victims found for incoming pod, 1 Preemption is not helpful for scheduling.
  Warning  FailedScheduling  12m                 default-scheduler  0/2 nodes are available: 1 Too many pods, 2 node(s) had untolerated taint {node.kubernetes.io/unschedulable: }, 2 node(s) were unschedulable. preemption: 0/2 nodes are available: 2 Preemption is not helpful for scheduling.
  Warning  FailedScheduling  7m14s               default-scheduler  no nodes available to schedule pods
  Warning  FailedScheduling  105s (x5 over 35m)  default-scheduler  0/1 nodes are available: 1 Too many pods. preemption: 0/1 nodes are available: 1 No preemption victims found for incoming pod.
Run Code Online (Sandbox Code Playgroud)

我能够获取节点的状态,它看起来已准备就绪:

kubectl get nodes  
NAME                         STATUS   ROLES    AGE   VERSION
ip-10-0-12-61.ec2.internal   Ready    <none>   15m   v1.24.7-eks-fb459a0
Run Code Online (Sandbox Code Playgroud)

在进行故障排除时,我尝试了以下选项:

  1. 重新创建完整的演示集群 - 仍然是相同的错误
  2. 尝试使用不同的图像重新创建 Pod - 仍然是相同的错误
  3. 尝试将实例类型增加到 t3.micro - 仍然是相同的错误
  4. 检查了集群中的安全组和其他参数 - 无法访问 RCA

Har*_*var 11

这是由于节点的 POD 限制或节点上的IP限制造成的。

因此,如果我们看到亚马逊官方文档t3.micro最多可以使用 2 个接口和2 个私有 IP。粗略地说,您可能会使用大约4 个IP,第一个IP 由 Node 等使用,还会有默认的系统 POD 作为守护进程集运行,等等。

添加新实例或升级到可以处理更多 Pod 的更大实例。

  • 您是否检查了 Nano Micro 文档,其他具有与 t3.small 或更多相同接口数的尝试? (2认同)