当 Vertex AI 上的 Ray 集群的工作负载激增或减少时,您可以手动扩缩副本的数量以满足需求。例如,如果您的容量过多,则可以缩减工作器池以节省费用。本页面介绍了如何更改现有工作器池的副本数量。
限制
扩缩集群时,您只能更改现有工作器池中的副本数。例如,您无法在集群中添加或移除工作器池,也无法更改工作器池的机器类型。此外,工作器池的副本数量不能小于 1。
如果您使用 VPC 对等互连连接来连接到集群,则节点数上限存在限制。节点数上限取决于集群在创建后具有的节点数。如需了解详情,请参阅节点数上限计算。此数量上限不仅包括工作器池,还包括头节点。如果使用默认网络配置,则节点数不能超过创建集群文档中所述的上限。
节点数上限计算
如果您使用专用服务访问通道(VPC 对等互连)连接到节点,请使用以下公式检查您未超过节点数上限 (M
)(假设 f(x) = min(29, (32 -
ceiling(log2(x)))
):
f(2 * M) = f(2 * N)
f(64 * M) = f(64 * N)
f(max(32, 16 + M)) = f(max(32, 16 + N))
Ray on Vertex AI 集群可以扩容到的节点总数上限 (M
) 取决于您设置的初始节点总数 (N
)。创建 Ray on Vertex AI 集群后,您可以将节点总数扩缩到 P
至 M
之间的值(含边界值),其中 P
是集群中的池数量。
集群中的初始节点总数和纵向扩容目标数量必须位于同一色块中。
更新副本数量
您可以使用 Google Cloud 控制台或 Vertex AI SDK for Python 更新工作器池的副本数量。如果集群包含多个工作器池,您可以在单个请求中单独更改每个副本数量。
控制台
在 Google Cloud 控制台中,转至“Ray on Vertex AI”页面。
从集群列表中,点击要修改的集群。
在集群详情页面上,点击修改集群。
在修改集群窗格中,选择要更新的工作器池,然后修改副本数量。
点击更新。
等待几分钟,直至集群完成更新。更新完成后,您可以在集群详情页面上查看更新后的副本数量。
Vertex AI SDK 上的 Ray
import vertexai import vertex_ray vertexai.init() cluster = vertex_ray.get_ray_cluster("CLUSTER_NAME") # Get the resource name. cluster_resource_name = cluster.cluster_resource_name # Create the new worker pools new_worker_node_types = [] for worker_node_type in cluster.worker_node_types: worker_node_type.node_count = REPLICA_COUNT # new worker pool size new_worker_node_types.append(worker_node_type) # Make update call updated_cluster_resource_name = vertex_ray.update_ray_cluster( cluster_resource_name=cluster_resource_name, worker_node_types=new_worker_node_types, )