Gemini Enterprise Agent Platform 上的 Ray 叢集提供兩種資源調度選項:自動調度資源和手動資源調度。自動調度資源功能可讓叢集根據 Ray 任務和執行者所需的資源,自動調整 worker 節點數量。如果您執行大量工作負載,但不確定所需的資源,建議使用自動調度資源功能。手動資源調度功能則可讓使用者更精細地控制節點。
自動調度資源可降低工作負載成本,但會增加節點啟動負擔,且設定可能較為複雜。如果您是 Ray 新手,請先從非自動調度叢集開始,並使用手動調度功能。
自動調度資源
指定工作站集區的副本數量下限 (min_replica_count) 和副本數量上限 (max_replica_count),即可啟用 Ray 叢集的自動調度資源功能。
注意事項:
- 設定所有工作站集區的自動調度資源規格。
- 不支援自訂放大和縮小速度。如需預設值,請參閱 Ray 說明文件中的「Upscaling and downscaling speed」。
設定 worker 集區自動調度資源規格
使用 Google Cloud 控制台或 Agent Platform SDK for Python 啟用 Ray 叢集的自動調度資源功能。
Ray on Agent Platform SDK
from google.cloud import aiplatform import vertex_ray from vertex_ray import AutoscalingSpec autoscaling_spec = AutoscalingSpec( min_replica_count=1, max_replica_count=3, ) head_node_type = Resources( machine_type="n1-standard-16", node_count=1, ) worker_node_types = [Resources( machine_type="n1-standard-16", accelerator_type="NVIDIA_TESLA_T4", accelerator_count=1, autoscaling_spec=autoscaling_spec, )] # Create the Ray cluster on Gemini Enterprise Agent Platform CLUSTER_RESOURCE_NAME = vertex_ray.create_ray_cluster( head_node_type=head_node_type, worker_node_types=worker_node_types, ... )
控制台
根據 OSS Ray 最佳做法建議,系統會強制將 Ray 頭部節點的邏輯 CPU 數量設為 0,避免在頭部節點上執行任何工作負載。
前往 Google Cloud 控制台的「Ray on Agent Platform」頁面。
按一下「建立叢集」,開啟「建立叢集」面板。
在「建立叢集」面板中,針對每個步驟檢查或替換預設叢集資訊。按一下「繼續」完成每個步驟:
點選「建立」。
手動調整資源配置
當 Gemini Enterprise Agent Platform 的 Ray 叢集工作負載增加或減少時,請手動調整副本數量,以符合需求。舉例來說,如果容量過剩,請縮減工作站集區,以節省費用。
虛擬私有雲對等互連的限制
調整叢集大小時,您只能變更現有工作站集區中的副本數量。舉例來說,您無法在叢集中新增或移除工作站集區,也無法變更工作站集區的機型。此外,工作站集區的副本數量不得少於一。
如果您使用 VPC 對等互連連線連線至叢集,節點數量上限會受到限制。節點數量上限取決於您建立叢集時的節點數量。詳情請參閱「節點數量上限計算方式」。這個上限包含工作站集區和頭部節點。如果您使用預設網路設定,節點數量不得超過建立叢集文件所述的上限。
子網路分配最佳做法
透過私人服務連線 (PSA) 在 Gemini Enterprise Agent Platform 上部署 Ray 時,請務必確保分配的 IP 位址範圍夠大且連續,足以容納叢集可能擴充的最大節點數。如果為 PSA 連線保留的 IP 範圍過小或過於分散,就可能發生 IP 位址耗盡的情況,導致部署失敗。
做為替代方案,我們建議在 Agent Platform 上部署 Ray,並使用 Private Service Connect 介面,將 IP 消耗量減少至 /28 子網路。
監控私人服務存取權
最佳做法是使用網路分析器,這是 Google Cloud Network Intelligence Center 內的診斷工具,可自動監控虛擬私有雲 (VPC) 網路設定,偵測錯誤和不盡理想的設定。網路分析器會持續運作,主動執行測試並產生洞察資訊,協助您在網路問題影響服務可用性之前,找出、診斷及解決問題。
網路分析器可監控用於私人服務連線 (PSA) 的子網路,並提供相關的深入分析資訊。這是管理 Cloud SQL、Memorystore 和 Agent Platform 等服務的重要功能,因為這些服務會使用 PSA。
網路分析器監控 PSA 子網路的主要方式,是提供已分配範圍的 IP 位址使用率洞察資料。
PSA 範圍使用率:網路分析器會主動追蹤您為 PSA 分配的專用 CIDR 區塊中,IP 位址的分配百分比。這項作業非常重要,因為建立代管服務 (例如 Agent Platform) 時,Google 會建立服務供應商 VPC,並在其中建立子網路,從您分配的區塊中提取 IP 範圍。
主動式快訊:如果 PSA 分配範圍的 IP 位址使用率超過特定門檻 (例如 75%),網路分析器就會產生警告洞察。這項功能會主動提醒您潛在的容量問題,讓您有時間擴展分配的 IP 範圍,以免新服務資源用盡可用位址。
更新私人服務存取權子網路
如果是 Ray on Agent Platform 部署作業,Google 建議為 PSA 連線分配 /16 或 /17 CIDR 區塊。這會提供足夠大的連續 IP 位址區塊,支援大幅擴充,分別可容納最多 65,536 個或 32,768 個不重複的 IP 位址。即使是大型 Ray 叢集,也能避免 IP 位址耗盡。
如果分配的 IP 位址空間用盡, Google Cloud 會傳回下列錯誤:
無法建立子網路。在已分配的 IP 範圍中找不到可用區塊。
節點數量上限計算
如果您使用私人服務連線 (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 Agent Platform 叢集節點總數上限 (M),取決於您設定的初始節點總數 (N)。建立 Ray on Agent Platform 叢集後,您可以將節點總數擴充至 P 和 M 之間的任何數量 (含這兩個數字),其中 P 是叢集中的集區數量。
叢集的初始節點總數和擴充目標數量必須位於同一個顏色方塊中。

更新副本數量
使用 Google Cloud 控制台或 Python 適用的 Agent Platform SDK,更新工作站集區的副本數量。如果叢集包含多個工作站集區,您可以在單一要求中個別變更每個集區的副本數量。
Ray on Agent Platform SDK
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, )
控制台
前往 Google Cloud 控制台的「Ray on Agent Platform」頁面。
在叢集清單中,按一下要修改的叢集。
在「叢集詳細資料」頁面中,按一下「編輯叢集」。
在「編輯叢集」窗格中,選取要更新的工作站集區,然後修改副本計數。
按一下「Update」。
請稍候幾分鐘,等待叢集更新。更新完成後,您可以在「叢集詳細資料」頁面查看更新後的副本數量。
點選「建立」。
