基于 GPU 利用率的自动缩放?

gro*_*roe 3 google-compute-engine google-cloud-platform google-kubernetes-engine

Autoscaling 会根据 CPU 利用率自动向我的实例组添加/删除实例。

GPU 利用率是否相同?

Mah*_*rif 6

您忘了提及它是用于Cluster Autoscaler还是Horizo​​ntal Pod Autoscaler。您还忘记提及它是在 GKE 还是 GCE 中。

1 - 在 GKE 中,有两种类型的 Autoscalers:

a - 在需要新节点时添加节点的Cluster Autoscaler

Cluster Autoscaler 扩展集群中的节点池。在这种情况下,您必须使用 GPU 加速器启动节点实例。您应该使用 GKE 支持的 Nvidia Tesla GPU。为了利用 Cluster Autoscaler,建议在 Cluster 中创建一个单独的 GPU 节点池。如果没有足够多的 Pod 请求 GPU,GPU 节点会自动缩减,如果请求 GPU 的 Pod 过多,则 GPU 节点会自动向上扩展。

b - Horizo​​ntal Pod Autoscaler,它在需要新 Pod 时添加新Pod

此 Horizo​​ntal Pod Autoscaler (HPA) 可扩展 Pod 副本的数量。HPA 使用资源指标 API 来收集指标。使用 HPA,您可以根据自定义指标Stackdriver 中可用的指标自动缩放pod。您可以选择 GPU 作为指标之一。有关分步教程,您可以查阅此 StackOverflow 线程。

2 - 在 GCE 中,自动缩放器基于自动缩放策略。自动缩放策略是:

  • 平均 CPU 使用率
  • Stackdriver 监控指标
  • HTTP 负载平衡

这意味着您可以添加一个策略,根据 Stackdriver Monitoring 指标自动缩放实例。没有针对 GPU 的默认 Stackdriver 监控指标,但您可以创建一个自定义指标来监控 GPU 利用率。下一步是根据该自定义指标自动缩放实例组。

这仅适用于托管实例组,并且该策略将基于新创建的自定义自定义指标来监控 GPU 利用率。我还发现了一篇关于如何根据 GPU 利用率在 Stackdriver 中创建自定义指标的有趣文章