我有一个最小池大小为0且最大池大小为3的节点池。通常,此节点池上没有任何反应,因此GKE正确缩小为零。但是,如果我尝试通过kubectl
向该池提交作业,则pod失败,显示Unschedulable。
我可以在运行kubectl
的同时--enable-autoscaling --min-nodes 1 --max-nodes 3
等待10秒,然后进行部署,然后等待完成,然后再将最小节点更改回0,但这似乎并不理想。
是否有一种更好的方法来使Pod挂起时使池启动节点?
答案 0 :(得分:1)
即使有诸如taints或nodeAffinity之类的东西,我也不认为您可以告诉Kubernetes旋转节点来调度工作负载。调度程序要求一个节点已经可用。
(出于好奇,您如何通过kubectl
将作业调度到特定的节点池?)
答案 1 :(得分:1)
由于自动缩放器基于Pod资源请求来进行放大/缩小,因此您至少需要1个值,自动缩放器可以将其用作基础计算,以了解池是否需要其他节点。
这是有关群集自动缩放器的工作原理的更多信息[1]