我们有一个带有三个工作节点的kubernetes集群,它是借鉴"kubernetes,艰难之路"教程手动构建的。
这个集群上的所有东西都按预期工作,只有一个例外:调度器没有——或者似乎没有——遵守每个工作节点110个pod的限制。
示例:
工作节点1:60个pod工作节点2:100个吊舱工作节点3:110个吊舱
当我想部署一个新的pod时,调度程序通常会决定最好将新pod调度到"Worker Node 3"。库贝莱特拒绝这样做,它确实遵守了110个吊舱的限制。调度程序一次又一次地尝试,但始终没有成功。
我不明白为什么会发生这种事。我想我可能遗漏了这个问题的一些细节。
根据我的理解和我所读到的关于调度器本身的内容,在调度时没有考虑"每个节点的pod数量"的资源或指标,或者至少我在Kubernetes scheduler文档中没有发现任何其他建议。当然,调度程序会考虑CPU请求/限制、内存请求/限制和磁盘请求/限制——这些都很好,而且可以工作。所以我甚至不知道调度程序如何考虑工作程序上使用的pod数量,但必须有某种功能才能做到这一点,对吧?还是我错了?
我的集群坏了吗?我是否对日程安排的工作方式有误解?
Kubernetes二进制版本:v1.17.2
编辑:Kubernetes版本
通常这意味着其他节点不合适。要么通过污点等显式地,要么更常见的是资源请求空间。