节点上的Pod限制-AWS EKS

时间:2019-09-17 09:05:06

标签: amazon-web-services kubernetes amazon-eks

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

使用kube系统pod进行计数时,每个节点的总运行pod为11,还有1个处于待处理状态,即:

节点#1:
aws-node-1
coredns-5-1as3
coredns-5-2das
kube-proxy-1
+7个App Pod副本

节点2:
aws-node-1
kube-proxy-1
+9个App Pod副本

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

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

1 个答案:

答案 0 :(得分:4)

每个EKS实例的实际最大pod数实际上在this document中列出。

对于t3.small实例,每个实例有11个容器。也就是说,群集中最多可以包含22个窗格。这些Pod中有6个是系统Pod,因此最多保留16个工作负载Pod。

您正尝试运行17个工作负载容器,所以这太多了。我想其中的16个吊舱已经安排好了,还有1个挂起。


定义每个实例的最大Pod的formula如下:

N * (M-1) + 2

位置:

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

因此,对于t3.small,此计算为3 * (4-1) + 2 = 11

this document中每种实例类型的NM的值。