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

问题描述

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

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

使用kube系统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-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是一个非常小的实例.我只是想了解什么限制了我.内存请求不是它,我远低于可用资源.

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个容器,其中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实例的实际最大吊舱数实际上在此文档.

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

对于t3.small实例,每个实例有11个容器.也就是说,群集中最多可以包含22个窗格.这些Pod中有6个是系统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个工作负载容器,所以这太多了.我猜这些豆荚中的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是单个ENI的IP地址数量

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

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

每个实例类型的NM的值在此文档.

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

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

09-01 20:41