是否有任何工具可以根据 kubernetes 中请求的总 pod 自动扩展 GKE 节点?
Posted
技术标签:
【中文标题】是否有任何工具可以根据 kubernetes 中请求的总 pod 自动扩展 GKE 节点?【英文标题】:Is there any tool for GKE nodes autoscaling base on total pods requested in kubernetes? 【发布时间】:2016-06-05 00:05:22 【问题描述】:当我使用 kubectl 调整复制控制器的大小时,如果集群没有足够的资源,就会有一个或多个 Pod 始终处于待处理状态。
是否有任何工具可以在资源耗尽时自动调整 GKE 集群的大小?
【问题讨论】:
【参考方案1】:我有一个类似的要求(对于 Go 构建系统):想知道何时调度与可用 CPU 或内存 > 1,并在此情况下横向扩展节点(或者更准确地说,当它是 ~. 8)。没有内置指标,但正如您建议的那样,您可以使用自定义指标。
这都是在 Go 中完成的,但它会给你基本的想法:
-
Create the metrics (memory and CPU, in my case
Put values to the metrics
IMO 的关键要点是,您必须遍历集群中的每个 pod 以确定消耗了多少容量,然后遍历集群中的每个 node 以确定可用容量。然后只需将您的自动缩放器指向自定义指标即可。
值得一提的大事:我最终确定,内置 CPU 利用率指标的扩展与自定义指标一样好(如果不是更好,但稍微多一点)。我们安排的每个 pod 都与 CPU 挂钩,因此当 pod 被最大化时,CPU 也会被占用。内置的 CPU 利用率指标可能更好,因为您没有定期放置自定义指标所带来的延迟。
【讨论】:
【参考方案2】:您可以为您的 GKE 节点所属的Instance Group
开启autoscaling
。
【讨论】:
在我的情况下找不到合适的指标,但我会尝试自定义指标以上是关于是否有任何工具可以根据 kubernetes 中请求的总 pod 自动扩展 GKE 节点?的主要内容,如果未能解决你的问题,请参考以下文章