(我是Kubernetes的新手,不确定这是否是最佳实践)
我在Firestore数据库中有一个作业管道,需要尽快完成。
我想建立一个Kubernetes集群(在GKE上),当有大量积压的任务需要完成时,它将扩展。每个pod/node都需要一个GPU来完成任务。
是否有可能使用云功能根据管道中的作业数量手动缩放节点数量?
我计划使用GKE客户端库中的clusters.nodePools.setSize()
函数,但我不确定这是否只是用于初始集群设置,而不是手动扩展。
感谢https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools/setSize
您可以在集群上配置和使用水平pod缩放来缩放pod的数量。
@somethingsomething建议参考水平Pod自动缩放器和集群自动缩放器上的这些链接:
水平Pod自动缩放器通过根据工作负载的CPU或内存消耗自动增加或减少Pod的数量来改变Kubernetes工作负载的形状,或者响应Kubernetes内部报告的自定义指标或来自集群外部来源的外部指标。
水平Pod自动伸缩有助于确保您的工作负载在不同情况下始终保持一致,并允许您通过仅在需要时支付额外容量来控制成本。
预测显示工作负载是否资源不足或未充分利用的指标并不总是容易的。横向Pod自动缩放器可以根据一个或多个指标自动缩放工作负载中的Pod数量。