当我使用kubectl调整复制控制器的大小时,如果群集没有足够的资源,则一个或多个pod总是处于挂起状态。
当资源用完时,是否有任何工具会自动调整GKE集群的大小?
答案 0 :(得分:4)
我有一个类似的要求(对于Go构建系统):想知道什么时候调度与可用的CPU或内存是>当真实时(或者更确切地说,当它是〜.8时),缩小节点。没有内置指标,但正如您所建议的那样,您可以使用自定义指标进行操作。
这一切都在Go中完成,但它会给你基本的想法:
关键外卖IMO是您必须遍历群集中的每个 pod 以确定消耗了多少容量,然后迭代群集中的每个节点确定可用的容量。然后,只需将自动缩放器指向自定义指标即可。
值得注意的重大事项:我最终确定扩展内置CPU利用率指标与自定义指标一样好(如果不是更好,但稍微多一点)。我们安排的每个吊舱都固定了CPU,因此当吊舱最大化时,CPU也是如此。内置CPU利用率指标可能更好,因为您没有定期添加自定义指标所带来的延迟。
答案 1 :(得分:1)
您可以为您的GKE节点所属的Instance Group
打开autoscaling
。