用于批处理的多可用区 GKE 集群

问题描述

我正在 GKE 区域集群上使用自动缩放抢占式节点批量处理数据。 GPU 时不时地变得稀缺。我没有切换区域来追逐 GPU(我已经这样做了),而是尝试更改为多区域配置。在我看来,在一些轻到中等规模的工作负载上一切正常。

我在 UI 中看到有关不平衡节点池的警告,因为节点池似乎在有可用资源的区域中扩展。这个警告严重吗?不同区域的不同节点编号有什么影响?我应该为每个区域运行单独的池吗?

我在节点之间有大量的通信——我的带宽受到不同区域中的工作人员的影响有多大? GKE docs 表示没有入口限制,只是出口比区域内慢,比区域间快。

解决方法

根据 Bandwidth 汇总表,入口和出口没有限制,与区域内的连接相比,部署在多专区中的节点之间的带宽连接略低。

集群自动扩缩程序仅在扩展事件期间跨区域进行平衡。 Cluster autoscaler 会缩减未充分利用的节点,而不管节点池中底层托管实例组的相对大小如何,这会导致节点在区域之间分布不均。

如果您指定最少零个节点,则空闲节点池可以完全缩减。但是,集群中必须始终至少有一个节点可用才能运行系统 Pod。

有关平衡节点组的更多信息,请参阅 link