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

标签 docker parallel-processing kubernetes containers

我运行一个带有 pod 的服务,它接收任务、处理它然后完成。目前它是一个测试环境,所以没有每个 pod 的真实 CPU/内存使用情况,但为了将来,我想为 pod 设置一个限制。

一次运行所有 pod(比如说 100 个)会按预期在我的两个节点(每个节点有 2 个 CPU 和 2GB 内存)上实现平均分配。

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

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

因为 Controller /系统占用了节点的一些可用资源,我希望每个节点上都有一个 pod 运行直到成功,然后安排下一个 pod。实际上,只有一个节点用于依次处理所有 100 个 pod。

有谁知道可能导致这种行为的原因是什么?没有设置其他限制。

谢谢!

最佳答案

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

关于docker - 设置资源限制时,Kubernetes Pod 仅分配给一个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52779966/

相关文章:

parallel-processing - salt -ssh : ls -lS over all minions

kubernetes - Kubernetes命令在Google Cloud Platform上记录日志以实现PCI合规性

docker - 如何将自签名证书放到GKE集群的每个节点上?

express - 未找到模块(nodemon)(未找到 package.json) DOCKER ISSUE

linux - 通过代理ssh错误使用Docker

ruby - Build上的Docker Ruby Bundle权限错误

java - 并行化将排序数组转换为二叉搜索树函数

c++ - 并行计算的障碍

python - 我应该为 Flask、uWSGI 和 nginx 提供单独的容器吗?

docker - Kubernetes OOM pod 被杀死,因为内核内存增长太多