节点上的 Pod 限制 - AWS EKS [英] Pod limit on Node - AWS EKS

查看:28
本文介绍了节点上的 Pod 限制 - AWS EKS的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 AWS EKS 上我正在将具有 17 个副本(请求和限制 64Mi 内存)的部署添加到具有 2 个节点类型 t3.small 的小型集群中.

On AWS EKS I'm adding deployment with 17 replicas (requesting and limiting 64Mi memory) to a small cluster with 2 nodes type t3.small.

以 kube-system pod 计算,每个节点运行的 pod 总数为 11,1 个待处理,即:

Counting with kube-system pods, total running pods per node is 11 and 1 is left pending, i.e.:

节点#1:
aws-节点-1
coredns-5-1as3
coredns-5-2das
kube-proxy-1
+7 个应用程序 pod 副本

节点#2:
aws-节点-1
kube-proxy-1
+9 个应用程序 pod 副本

我知道 t3.small 是一个非常小的实例.我只是想了解是什么限制了我.内存请求不是吗,我远远低于可用资源.

Node #1:
aws-node-1
coredns-5-1as3
coredns-5-2das
kube-proxy-1
+7 app pod replicas

Node #2:
aws-node-1
kube-proxy-1
+9 app pod replicas

I understand that t3.small is a very small instance. I'm only trying to understand what is limiting me here. Memory request is not it, I'm way below the available resources.

我发现每个节点都有 IP 地址限制,具体取决于实例类型.https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html?shortFooter=true#AvailableIpPerENI .
我没有找到任何其他文档明确说明这会限制 pod 创建,但我假设确实如此.根据该表,t3.small 可以有 12 个 IPv4 地址.如果是这种情况并且这是限制因素,因为我有 11 个 pod,1 个缺少的 IPv4 地址到哪里去了?

I found that there is IP addresses limit per node depending on instance type. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html?shortFooter=true#AvailableIpPerENI .
I didn't find any other documentation saying explicitly that this is limiting pod creation, but I'm assuming it does. Based on the table, t3.small can have 12 IPv4 addresses. If this is the case and this is limiting factor, since I have 11 pods, where did 1 missing IPv4 address go?

推荐答案

每个 EKS 实例的实际最大 Pod 数实际上列在 本文档.

The real maximum number of pods per EKS instance are actually listed in this document.

对于 t3.small 实例,每个实例是 11 个 Pod.也就是说,您的集群中最多可以有 22 个 Pod.其中 6 个 Pod 是系统 Pod,因此最多保留 16 个工作负载 Pod.

For t3.small instances, it is 11 pods per instance. That is, you can have a maximum number of 22 pods in your cluster. 6 of these pods are system pods, so there remains a maximum of 16 workload pods.

您正在尝试运行 17 个工作负载 Pod,所以它太多了.我猜这些 Pod 中有 16 个已安排好,还有 1 个待处理.

You're trying to run 17 workload pods, so it's one too much. I guess 16 of these pods have been scheduled and 1 is left pending.

公式定义每个实例的最大 Pod 数如下:

The formula for defining the maximum number of pods per instance is as follows:

N * (M-1) + 2

地点:

  • N 是实例类型的弹性网络接口 (ENI) 的数量
  • M 为单个网卡的 IP 地址数

所以,对于t3.small,这个计算是3 * (4-1) + 2 = 11.

So, for t3.small, this calculation is 3 * (4-1) + 2 = 11.

本文档.

Values for N and M for each instance type in this document.

这篇关于节点上的 Pod 限制 - AWS EKS的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆