是否有基于kubernetes中请求的总pod的GKE节点自动缩放的工具?

时间:2016-02-23 08:44:10

标签: kubernetes autoscaling google-kubernetes-engine

当我使用kubectl调整复制控制器的大小时,如果群集没有足够的资源,则一个或多个pod总是处于挂起状态。

当资源用完时,是否有任何工具会自动调整GKE集群的大小?

2 个答案:

答案 0 :(得分:4)

我有一个类似的要求(对于Go构建系统):​​想知道什么时候调度与可用的CPU或内存是>当真实时(或者更确切地说,当它是〜.8时),缩小节点。没有内置指标,但正如您所建议的那样,您可以使用自定义指标进行操作。

这一切都在Go中完成,但它会给你基本的想法:

  1. Create the metrics (memory and CPU, in my case
  2. Put values to the metrics
  3. 关键外卖IMO是您必须遍历群集中的每个 pod 以确定消耗了多少容量,然后迭代群集中的每个节点确定可用的容量。然后,只需将自动缩放器指向自定义指标即可。

    值得注意的重大事项:我最终确定扩展内置CPU利用率指标与自定义指标一样好(如果不是更好,但稍微多一点)。我们安排的每个吊舱都固定了CPU,因此当吊舱最大化时,CPU也是如此。内置CPU利用率指标可能更好,因为您没有定期添加自定义指标所带来的延迟。

答案 1 :(得分:1)

您可以为您的GKE节点所属的Instance Group打开autoscaling