设置资源限制时,Kubernetes Pod仅分配给一个节点

时间:2018-10-12 12:54:20

标签: docker parallel-processing kubernetes containers

我运行的服务带有pod,这些pod可以提取任务,对其进行处理然后完成。目前,它是一个测试环境,因此每个吊舱都没有真正的CPU /内存使用情况,但是为了将来,我想为吊舱设置一个限制。

一次运行所有Pod(假设为100个)会按预期在我的两个节点(每个节点有2个CPU和2GB内存)上平均分配。

出于测试目的,我现在设置每个吊舱的限制:

    limits:
       memory: "1000Mi"
       cpu: "1"
     requests:
       memory: "1000Mi"
       cpu: "1"

因为控制器/系统占用了节点的一些可用资源,所以我希望每个节点上的一个pod正在运行,直到成功,然后再调度下一个。实际上,只有一个节点用于一个接一个地处理所有100个Pod。

有人知道什么可能导致此行为吗?没有其他限制设置。

谢谢!

1 个答案:

答案 0 :(得分:1)

最后,我发现问题是由“ kubectl describe node ...”命令给出的错误信息。这表明内存(1225076KB)比节点上的实际可用内存(0.87GB)更多。不知道为什么(特别是因为两个工作程序的设置相同,但是它们仍然具有不同的可用内存量),但这似乎是问题所在。