I cluster Ray sulla piattaforma Gemini Enterprise Agent offrono due opzioni di scalabilità: scalabilità automatica e scalabilità manuale. La scalabilità automatica consente al cluster di regolare automaticamente il numero di nodi worker in base alle risorse richieste dalle attività e dagli attori Ray. Se esegui un carico di lavoro pesante e non sai quali risorse sono necessarie, è consigliata la scalabilità automatica. La scalabilità manuale offre agli utenti un controllo più granulare dei nodi.
La scalabilità automatica può ridurre i costi del workload, ma aggiunge l'overhead di avvio dei nodi e può essere difficile da configurare. Se non hai mai utilizzato Ray, inizia con i cluster senza scalabilità automatica e utilizza la funzionalità di scalabilità manuale.
Scalabilità automatica
Attiva la funzionalità di scalabilità automatica di un cluster Ray specificando il numero minimo di repliche (min_replica_count) e il numero massimo di repliche (max_replica_count) di un pool di worker.
Tieni presente quanto segue:
- Configura la specifica di scalabilità automatica di tutti i pool di worker.
- La velocità di upscaling e downscaling personalizzata non è supportata. Per i valori predefiniti, consulta Velocità di upscaling e downscaling nella documentazione di Ray.
Imposta la specifica di scalabilità automatica del pool di worker
Utilizza la console Google Cloud o l'SDK Agent Platform per Python per attivare la funzionalità di scalabilità automatica di un cluster Ray.
SDK Ray on Agent Platform
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, ... )
Console
In conformità con il best practice OSS Ray, l'impostazione del conteggio delle CPU logiche su 0 sul nodo head di Ray viene applicata per evitare l'esecuzione di qualsiasi workload sul nodo head.
Nella console Google Cloud , vai alla pagina Ray on Agent Platform.
Fai clic su Crea cluster per aprire il riquadro Crea cluster.
Per ogni passaggio del riquadro Crea cluster, rivedi o sostituisci le informazioni predefinite del cluster. Fai clic su Continua per completare ogni passaggio:
- Per Nome e regione, specifica un nome e scegli una località per il cluster.
Per Impostazioni di calcolo, specifica la configurazione del cluster Ray sul nodo head, inclusi il tipo di macchina, il tipo e il conteggio di acceleratori, il tipo e le dimensioni del disco e il conteggio delle repliche. (Facoltativo) Aggiungi un URI immagine personalizzato per specificare un'immagine container personalizzata per aggiungere dipendenze Python non fornite dall'immagine container predefinita. Vedi Immagine personalizzata.
Nella sezione Opzioni avanzate, puoi:
- Specifica la tua chiave di crittografia.
- Specifica un service account personalizzato.
- Se non devi monitorare le statistiche sulle risorse del workload durante l'addestramento, disattiva la raccolta delle metriche.
Per creare un cluster con un worker pool con scalabilità automatica, fornisci un valore per il numero massimo di repliche del worker pool.

Fai clic su Crea.
Scalabilità manuale
Quando i carichi di lavoro aumentano o diminuiscono nei cluster Ray su Gemini Enterprise Agent Platform, scala manualmente il numero di repliche in base alla domanda. Ad esempio, se hai capacità in eccesso, fare lo scale down dei pool di worker per risparmiare sui costi.
Limitazioni del peering VPC
Quando esegui lo scale dei cluster, puoi modificare solo il numero di repliche nei pool di worker esistenti. Ad esempio, non puoi aggiungere o rimuovere worker pool dal cluster o modificare il tipo di macchina dei worker pool. Inoltre, il numero di repliche per i pool di worker non può essere inferiore a uno.
Se utilizzi una connessione di peering VPC per connetterti ai tuoi cluster, esiste una limitazione al numero massimo di nodi. Il numero massimo di nodi dipende dal numero di nodi del cluster al momento della creazione. Per maggiori informazioni, consulta Calcolo del numero massimo di nodi. Questo numero massimo include non solo i pool di worker, ma anche il nodo head. Se utilizzi la configurazione di rete predefinita, il numero di nodi non può superare i limiti superiori descritti nella documentazione Crea cluster.
Best practice per l'allocazione delle subnet
Quando esegui il deployment di Ray su Gemini Enterprise Agent Platform utilizzando l'accesso privato ai servizi (PSA), è fondamentale assicurarsi che l'intervallo di indirizzi IP allocato sia sufficientemente ampio e contiguo per ospitare il numero massimo di nodi a cui il cluster potrebbe scalare. L'esaurimento degli IP può verificarsi se l'intervallo IP riservato alla connessione PSA è troppo piccolo o frammentato, causando errori di deployment.
In alternativa, ti consigliamo di eseguire il deployment di Ray su Agent Platform con un'interfaccia Private Service Connect, che riduce il consumo di IP a una subnet /28.
Monitoraggio dell'accesso privato ai servizi
Come best practice, utilizza Network Analyzer, uno strumento di diagnostica all'interno di Network Intelligence Center di Google Cloud che monitora automaticamente le configurazioni di rete Virtual Private Cloud (VPC) per rilevare configurazioni errate e impostazioni non ottimali. Network Analyzer funziona in modo continuo, il che esegue test in modo proattivo e genera approfondimenti per aiutarti a identificare, diagnosticare e risolvere i problemi di rete prima che influiscano sulla disponibilità del servizio.
Network Analyzer è in grado di monitorare le subnet utilizzate per l'accesso ai servizi privato (PSA) e fornisce informazioni specifiche correlate. Si tratta di una funzione fondamentale per la gestione di servizi come Cloud SQL, Memorystore e Agent Platform, che utilizzano PSA.
Il modo principale in cui Network Analyzer monitora le subnet PSA è fornendo informazioni sull'utilizzo degli indirizzi IP per gli intervalli allocati.
Utilizzo dell'intervallo PSA: Network Analyzer monitora attivamente la percentuale di allocazione degli indirizzi IP all'interno dei blocchi CIDR dedicati che hai allocato per PSA. Questo è importante perché quando crei un servizio gestito (come Agent Platform), Google crea un VPC producer di servizi e una subnet al suo interno, estraendo un intervallo IP dal blocco allocato.
Avvisi proattivi: se l'utilizzo dell'indirizzo IP per un intervallo allocato PSA supera una determinata soglia (ad esempio, il 75%), Network Analyzer genera un approfondimento di avviso. In questo modo, riceverai un avviso proattivo in caso di potenziali problemi di capacità, il che ti darà il tempo di espandere l'intervallo IP allocato prima di esaurire gli indirizzi disponibili per le nuove risorse di servizio.
Aggiornamenti delle subnet di accesso ai servizi privati
Per i deployment di Ray su Agent Platform, Google consiglia di allocare un blocco CIDR /16 o /17 per la connessione PSA. In questo modo viene fornito un blocco contiguo di indirizzi IP sufficientemente grande da supportare uno scaling significativo, in grado di ospitare fino a 65.536 o 32.768 indirizzi IP unici, rispettivamente. In questo modo si evita l'esaurimento degli indirizzi IP anche con cluster Ray di grandi dimensioni.
Se esaurisci lo spazio di indirizzi IP allocato, Google Cloud viene restituito questo errore:
Impossibile creare la subnet. Impossibile trovare blocchi liberi negli intervalli IP allocati.
Ti consigliamo di espandere l'intervallo di subnet attuale o allocare un intervallo che tenga conto della crescita futura.
Calcolo del numero massimo di nodi
Se utilizzi l'accesso privato ai servizi (peering VPC) per connetterti ai tuoi nodi, utilizza le seguenti formule per verificare di non superare il numero massimo di nodi (M), supponendo che 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))
Il numero totale massimo di nodi nel cluster Ray on Agent Platform a cui puoi
eseguire lo scale up (M) dipende dal numero totale iniziale di nodi che hai configurato (N).
Dopo aver creato il cluster Ray on Agent Platform, puoi scalare il numero totale
di nodi a qualsiasi valore compreso tra P e M inclusi, dove P è il
numero di pool nel cluster.
Il numero totale iniziale di nodi nel cluster e il numero di destinazione dello scale up devono trovarsi nello stesso blocco di colore.

Aggiorna il conteggio repliche
Utilizza la console Google Cloud o l'SDK Agent Platform per Python per aggiornare il conteggio delle repliche del pool di worker. Se il cluster include più pool di worker, puoi modificare individualmente il numero di repliche di ciascuno in un'unica richiesta.
SDK Ray on Agent Platform
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, )
Console
Nella console Google Cloud , vai alla pagina Ray on Agent Platform.
Nell'elenco dei cluster, fai clic sul cluster da modificare.
Nella pagina Dettagli cluster, fai clic su Modifica cluster.
Nel riquadro Modifica cluster, seleziona il pool di nodi worker da aggiornare e poi modifica il conteggio delle repliche.
Fai clic su Aggiorna.
Attendi qualche minuto affinché il cluster venga aggiornato. Al termine dell'aggiornamento, puoi visualizzare il numero di repliche aggiornato nella pagina Dettagli cluster.
Fai clic su Crea.