In diesem Dokument finden Sie eine Anleitung zum Einrichten eines Ray-Clusters auf der Gemini Enterprise Agent Platform für verschiedene Anforderungen. Informationen zum Erstellen eines Images finden Sie unter Benutzerdefiniertes Image. Einige Unternehmen können private Netzwerke verwenden. In diesem Dokument wird die Private Service Connect-Schnittstelle für Ray on Vertex AI behandelt. Ein weiterer Anwendungsfall ist der Zugriff auf Remote-Dateien, als wären sie lokal (siehe Ray on Agent Platform Network File System).
Übersicht
Themen:
- Ray-Cluster auf der Gemini Enterprise Agent Platform erstellen
- Lebenszyklus eines Ray-Clusters verwalten
- Benutzerdefiniertes Image erstellen
- Private und öffentliche Konnektivität (VPC) einrichten
- Private Service Connect-Schnittstelle für Ray auf der Agent Platform verwenden
- Ray im Network File System (NFS) der Agent Platform einrichten
- Ray-Dashboard und interaktive Shell mit VPC-SC und VPC-Peering einrichten
Ray-Cluster erstellen
Sie können die Google Cloud Console oder das Agent Platform SDK für Python verwenden, um einen Ray-Cluster zu erstellen. Ein Cluster kann bis zu 2.000 Knoten haben. In einem Worker-Pool gilt eine Obergrenze von 1.000 Knoten. Die Anzahl der Worker-Pools ist nicht begrenzt. Eine große Anzahl von Worker-Pools, z. B. 1.000 Worker-Pools mit jeweils einem Knoten, kann sich jedoch negativ auf die Clusterleistung auswirken.
Lesen Sie zuerst die Übersicht über Ray auf der Gemini Enterprise Agent Platform und richten Sie alle erforderlichen Tools ein.
Es kann 10–20 Minuten dauern, bis ein Ray-Cluster auf der Agent Platform nach dem Erstellen gestartet wird.
Console
Gemäß der Best Practice für OSS Ray wird die Festlegung der logischen CPU-Anzahl auf 0 auf dem Ray-Hauptknoten erzwungen, um zu vermeiden, dass Arbeitslasten auf dem Hauptknoten ausgeführt werden.
Rufen Sie in der Google Cloud Console die Seite „Ray on Agent Platform“ auf.
Klicken Sie auf Cluster erstellen, um den Bereich Cluster erstellen zu öffnen.
Prüfen oder ersetzen Sie für jeden Schritt im Bereich Cluster erstellen die Standardclusterinformationen. Klicken Sie auf Weiter, um die einzelnen Schritte abzuschließen:
Geben Sie unter Name und Region einen Namen an und wählen Sie einen Standort für den Cluster aus.
Geben Sie für Compute-Einstellungen die Konfiguration des Hauptknotens des Ray-Clusters auf der Gemini Enterprise Agent Platform an, einschließlich Maschinentyp, Beschleunigertyp und Anzahl, Laufwerkstyp und -größe und Replikatanzahl. Optional können Sie einen benutzerdefinierten Image-URI hinzufügen, um ein benutzerdefiniertes Container-Image anzugeben, um Python-Abhängigkeiten hinzuzufügen, die nicht vom Standard-Container-Image bereitgestellt werden. Weitere Informationen finden Sie unter Benutzerdefiniertes Bild.
Unter Erweiterte Optionen haben Sie folgende Möglichkeiten:
- Geben Sie einen eigenen Verschlüsselungsschlüssel an.
- Geben Sie ein benutzerdefiniertes Dienstkonto an.
- Deaktivieren Sie die Erfassung von Messwerten, wenn Sie die Ressourcenstatistiken Ihrer Arbeitslast während des Trainings nicht beobachten müssen.
(Optional) Wenn Sie einen privaten Endpunkt für Ihren Cluster bereitstellen möchten, wird die Verwendung von Private Service Connect empfohlen. Weitere Informationen finden Sie unter Private Service Connect-Schnittstelle für Ray on Vertex AI.
Klicken Sie auf Erstellen.
Ray on Agent Platform SDK
Gemäß der Best Practice für OSS Ray wird die Festlegung der logischen CPU-Anzahl auf 0 auf dem Ray-Hauptknoten erzwungen, um zu vermeiden, dass Arbeitslasten auf dem Hauptknoten ausgeführt werden.
Verwenden Sie in einer interaktiven Python-Umgebung Folgendes, um den Ray-Cluster auf der Gemini Enterprise Agent Platform zu erstellen:
import ray import vertex_ray from google.cloud import aiplatform from vertex_ray import Resources from vertex_ray.util.resources import NfsMount # Define a default CPU cluster, machine_type is n1-standard-16, 1 head node and 1 worker node head_node_type = Resources() worker_node_types = [Resources()] # Or define a GPU cluster. head_node_type = Resources( machine_type="n1-standard-16", node_count=1, custom_image="us-docker.pkg.dev/my-project/ray-custom.2-9.py310:latest", # Optional. When not specified, a prebuilt image is used. ) worker_node_types = [Resources( machine_type="n1-standard-16", node_count=2, # Must be >= 1 accelerator_type="NVIDIA_TESLA_T4", accelerator_count=1, custom_image="us-docker.pkg.dev/my-project/ray-custom.2-9.py310:latest", # When not specified, a prebuilt image is used. )] # Optional. Create cluster with Network File System (NFS) setup. nfs_mount = NfsMount( server="10.10.10.10", path="nfs_path", mount_point="nfs_mount_point", ) aiplatform.init() # Initialize Agent Platform to retrieve projects for downstream operations. # Create the Ray cluster on Agent Platform CLUSTER_RESOURCE_NAME = vertex_ray.create_ray_cluster( head_node_type=head_node_type, network=NETWORK, #Optional worker_node_types=worker_node_types, python_version="3.10", # Optional ray_version="2.47", # Optional cluster_name=CLUSTER_NAME, # Optional service_account=SERVICE_ACCOUNT, # Optional enable_metrics_collection=True, # Optional. Enable metrics collection for monitoring. labels=LABELS, # Optional. nfs_mounts=[nfs_mount], # Optional. )
Wobei:
CLUSTER_NAME: Ein Name für den Ray-Cluster auf der Gemini Enterprise Agent Platform, der in Ihrem Projekt eindeutig sein muss.
NETWORK: (Optional) Der vollständige Name Ihres VPC-Netzwerks im Format
projects/PROJECT_ID/global/networks/VPC_NAME. Wenn Sie für Ihren Cluster einen privaten Endpunkt anstelle eines öffentlichen Endpunkts festlegen möchten, geben Sie ein VPC-Netzwerk an, das mit Ray on Agent Platform verwendet werden soll. Weitere Informationen finden Sie unter Private und öffentliche Konnektivität.VPC_NAME: Optional: Die VPC, in der die VM ausgeführt wird.
PROJECT_ID: Ihre Projekt-ID in Google Cloud . Sie finden die Projekt-ID auf der Willkommensseite der Google Cloud Console.
SERVICE_ACCOUNT: Optional: Das Dienstkonto, mit dem Ray-Anwendungen auf dem Cluster ausgeführt werden sollen. Weisen Sie die erforderlichen Rollen zu.
LABELS: (Optional) Die Labels mit benutzerdefinierten Metadaten, die zum Organisieren von Ray-Clustern verwendet werden. Labelschlüssel und -werte dürfen maximal 64 Zeichen (Unicode-Codepunkte) haben und dürfen nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Internationale Zeichen sind zulässig. Weitere Informationen und Beispiele für Labels finden Sie unter https://goo.gl/xmQnxf.
Die folgende Ausgabe sollte angezeigt werden, bis sich der Status in RUNNING ändert:
none
[Ray on Agent Platform]: Cluster State = State.PROVISIONING
Waiting for cluster provisioning; attempt 1; sleeping for 0:02:30 seconds
...
[Ray on Agent Platform]: Cluster State = State.RUNNING
Wichtige Hinweise:
Der erste Knoten ist der Head-Knoten.
TPU-Maschinentypen werden nicht unterstützt.
Verwaltung des Lebenszyklus
Während des Lebenszyklus eines Ray-Clusters auf der Gemini Enterprise Agent Platform ist jede Aktion mit einem Status verknüpft. In der folgenden Tabelle sind der Abrechnungsstatus und die Verwaltungsoption für jeden Status zusammengefasst. In der Referenzdokumentation finden Sie eine Definition für jeden dieser Status.
| Aktion | Status | In Rechnung gestellt? | Löschaktion verfügbar? | Aktion „Abbrechen“ verfügbar? |
|---|---|---|---|---|
| Der Nutzer erstellt einen Cluster | BEREITSTELLUNG | Nein | Nein | Nein |
| Der Nutzer skaliert manuell hoch oder runter. | Wird aktualisiert | Ja, gemäß der Echtzeitgröße | Ja | Nein |
| Der Cluster wird ausgeführt | WIRD AUSGEFÜHRT | Ja | Ja | Nicht zutreffend – Sie können löschen |
| Der Cluster wird automatisch hoch- oder herunterskaliert. | Wird aktualisiert | Ja, gemäß der Echtzeitgröße | Ja | Nein |
| Der Nutzer löscht den Cluster. | WIRD BEENDET | Nein | Nein | Nicht zutreffend – wird bereits angehalten |
| Der Cluster wechselt in den Fehlerstatus. | FEHLER | Nein | Ja | Nicht zutreffend – Sie können löschen |
| Nicht zutreffend | Status nicht angegeben | Nein | Ja | Nicht zutreffend |
Benutzerdefiniertes Image (optional)
Vordefinierte Images sind für die meisten Anwendungsfälle geeignet. Wenn Sie Ihr Image selbst erstellen möchten, verwenden Sie die vordefinierten Images von Ray on Gemini Enterprise Agent Platform als Basis-Image. In der Docker-Dokumentation erfahren Sie, wie Sie Ihre Images aus einem Basis-Image erstellen.
Diese Basis-Images enthalten eine Installation von Python, Ubuntu und Ray. Dazu gehören auch Abhängigkeiten wie:
- python-json-logger
- google-cloud-resource-manager
- ca-certificates-jav
- libatlas-base-dev
- liblapack-dev
- g++, libio-all-perl
- libyaml-0-2.
Private und öffentliche Verbindung
Standardmäßig erstellt Ray on Agent Platform einen öffentlichen, sicheren Endpunkt für die interaktive Entwicklung mit dem Ray-Client auf Ray-Clustern auf der Gemini Enterprise Agent Platform. Verwenden Sie öffentliche Verbindungen für Entwicklung oder sitzungsspezifische Anwendungsfälle. Dieser öffentliche Endpunkt ist über das Internet zugänglich. Nur autorisierte Nutzer, die mindestens die Nutzerrollenberechtigungen für die Gemini Enterprise Agent Platform für das Nutzerprojekt des Ray-Clusters haben, können auf den Cluster zugreifen.
Wenn Sie eine private Verbindung zu Ihrem Cluster benötigen oder VPC Service Controls verwenden, wird VPC-Peering für Ray-Cluster auf der Gemini Enterprise Agent Platform unterstützt. Auf Cluster mit einem privaten Endpunkt kann nur von einem Client in einem VPC-Netzwerk zugegriffen werden, das mit der Gemini Enterprise Agent Platform verbunden ist.
Wenn Sie eine private Konnektivität mit VPC-Peering für Ray auf der Agent Platform einrichten möchten, wählen Sie beim Erstellen des Clusters ein VPC-Netzwerk aus. Das VPC-Netzwerk erfordert eine Private Service Connect zwischen Ihrem VPC-Netzwerk und der Gemini Enterprise Agent Platform. Wenn Sie Ray on Agent Platform in der Console verwenden, können Sie Ihre Verbindung für den Zugriff auf private Dienste einrichten, während Sie den Cluster erstellen.
Wenn Sie VPC Service Controls und VPC-Peering mit Ray-Clustern auf der Agent Platform verwenden möchten, ist eine zusätzliche Einrichtung erforderlich, um das Ray-Dashboard und die interaktive Shell zu verwenden. Folgen Sie der Anleitung unter Ray-Dashboard und interaktive Shell mit VPC-SC und VPC-Peering, um die interaktive Shell mit VPC-SC und VPC-Peering in Ihrem Nutzerprojekt zu konfigurieren.
Nachdem Sie Ihren Ray-Cluster auf der Gemini Enterprise Agent Platform erstellt haben, können Sie mit dem Agent Platform SDK für Python eine Verbindung zum Head-Knoten herstellen. Die verbindende Umgebung, z. B. eine Compute Engine-VM oder eine Vertex AI Workbench-Instanz, muss sich im VPC-Netzwerk befinden, das mit der Gemini Enterprise Agent Platform per Peering verbunden ist. Beachten Sie, dass eine Verbindung für private Dienste eine begrenzte Anzahl von IP-Adressen hat, was zu einer Ausschöpfung der IP-Adressen führen kann. Daher empfehlen wir, für langlebige Cluster private Verbindungen zu verwenden.
Private Service Connect-Schnittstelle für Ray auf der Gemini Enterprise Agent Platform
Ausgehender Traffic über die Private Service Connect-Schnittstelle und eingehender Traffic über die Private Service Connect-Schnittstelle werden auf Ray-Clustern auf der Gemini Enterprise Agent Platform unterstützt.
Wenn Sie ausgehenden Traffic über eine Private Service Connect-Schnittstelle verwenden möchten, folgen Sie der Anleitung im nächsten Abschnitt. Wenn VPC Service Controls nicht aktiviert ist, verwenden Cluster mit ausgehendem Traffic über die Private Service Connect-Schnittstelle den sicheren öffentlichen Endpunkt für eingehenden Traffic mit dem Ray-Client.
Wenn VPC Service Controls aktiviert ist, wird der eingehende Traffic der Private Service Connect-Schnittstelle standardmäßig mit dem ausgehenden Traffic der Private Service Connect-Schnittstelle verwendet. Wenn Sie eine Verbindung zum Ray-Client herstellen oder Jobs von einem Notebook für einen Cluster mit eingehendem Traffic über die Private Service Connect-Schnittstelle senden möchten, muss sich das Notebook im VPC und Subnetz des Nutzerprojekts befinden. Weitere Informationen zum Einrichten von VPC Service Controls finden Sie unter VPC Service Controls mit Gemini Enterprise Agent Platform.

Private Service Connect-Schnittstelle aktivieren
Folgen Sie der Anleitung zum Einrichten Ihrer Ressourcen, um Ihre Private Service Connect-Schnittstelle einzurichten. Nachdem Sie Ihre Ressourcen eingerichtet haben, können Sie die Private Service Connect-Schnittstelle auf Ihrem Ray-Cluster in der Gemini Enterprise Agent Platform aktivieren.
Console
Während Sie Ihren Cluster erstellen und nachdem Sie Name und Region und Compute-Einstellungen angegeben haben, wird die Option Netzwerk angezeigt.

Richten Sie einen Netzwerkanhang ein. Gehen Sie dazu so vor:
- Verwenden Sie den Namen NETWORK_ATTACHMENT_NAME, den Sie beim Einrichten Ihrer Ressourcen für Private Service Connect angegeben haben.
- Erstellen Sie einen neuen Netzwerkanhang, indem Sie im Drop-down-Menü auf den Button Netzwerkanhang erstellen klicken.

Klicken Sie auf Netzwerkanhang erstellen.
Geben Sie in der angezeigten Unteraufgabe einen Namen, ein Netzwerk und ein Subnetzwerk für den neuen Netzwerkanhang an.

Klicken Sie auf Erstellen.
Ray on Agent Platform SDK
Das Ray on Agent Platform SDK ist Teil des Agent Platform SDK für Python. Informationen zum Installieren oder Aktualisieren des Agent Platform SDK für Python finden Sie unter Agent Platform SDK für Python installieren. Weitere Informationen finden Sie in der API-Referenzdokumentation zum Agent Platform SDK für Python.
from google.cloud import aiplatform import vertex_ray # Initialization aiplatform.init() # Create a default cluster with network attachment configuration psc_config = vertex_ray.PscIConfig(network_attachment=NETWORK_ATTACHMENT_NAME) cluster_resource_name = vertex_ray.create_ray_cluster( psc_interface_config=psc_config, )
Wobei:
- NETWORK_ATTACHMENT_NAME: Der Name, den Sie beim Einrichten Ihrer Ressourcen für Private Service Connect in Ihrem Nutzerprojekt angegeben haben.
Ray on Agent Platform Network File System (NFS)
Wenn Sie Remotedateien für Ihren Cluster verfügbar machen möchten, stellen Sie NFS-Freigaben (Network File System) bereit. Ihre Jobs können dann auf Remotedateien zugreifen, als ob sie lokal wären, was einen hohen Durchsatz und eine niedrige Latenz ermöglicht.
VPC-Einrichtung
Es gibt zwei Möglichkeiten, eine VPC einzurichten:
- Netzwerkanhang für eine Private Service Connect-Schnittstelle erstellen (Empfohlen)
- VPC-Netzwerk-Peering einrichten
NFS-Instanz einrichten
Weitere Informationen zum Erstellen einer Filestore-Instanz finden Sie unter Instanz erstellen. Wenn Sie die Private Service Connect-Schnittstellenmethode verwenden, müssen Sie beim Erstellen des Filestores nicht den Modus für den Zugriff auf private Dienste auswählen.
Network File System (NFS) verwenden
Wenn Sie das Network File System verwenden möchten, geben Sie entweder ein Netzwerk oder einen Netzwerkanhang (empfohlen) an.
Console
Im Schritt „Netzwerk“ der Erstellungsseite, nachdem Sie entweder ein Netzwerk oder einen Netzwerkanhang angegeben haben. Klicken Sie dazu im Abschnitt „Network File System (NFS)“ auf NFS-Bereitstellung hinzufügen und geben Sie eine NFS-Bereitstellung (Server, Pfad und Bereitstellungspunkt) an.
Feld Beschreibung serverDie IP-Adresse Ihres NFS-Servers. Dies muss eine private Adresse in Ihrer VPC sein. pathDer NFS-Freigabepfad. Dies muss ein absoluter Pfad sein, der mit /beginnt.mountPointDer lokale Bereitstellungspunkt. Dies muss ein gültiger UNIX-Verzeichnisname sein. Wenn der lokale Bereitstellungspunkt beispielsweise sourceDatalautet, geben Sie den Pfad/mnt/nfs/ sourceDataaus Ihrer Trainings-VM-Instanz an.Weitere Informationen finden Sie unter Hier geben Sie Rechenressourcen an.
Geben Sie einen Server, einen Pfad und einen Bereitstellungspunkt an.

Klicken Sie auf Erstellen. Dadurch wird der Ray-Cluster erstellt.
Ray-Dashboard und interaktive Shell mit VPC-SC und VPC-Peering
-
Konfigurieren Sie
peered-dns-domains.{ VPC_NAME=NETWORK_NAME REGION=LOCATION gcloud services peered-dns-domains create training-cloud \ --network=$VPC_NAME \ --dns-suffix=$REGION.aiplatform-training.cloud.google.com. # Verify gcloud beta services peered-dns-domains list --network $VPC_NAME; }
-
NETWORK_NAME: Wechseln Sie zum Peering-Netzwerk.
-
LOCATION: Gewünschter Standort (z. B.
us-central1)
-
-
Konfigurieren Sie
DNS managed zone.{ PROJECT_ID=PROJECT_ID ZONE_NAME=$PROJECT_ID-aiplatform-training-cloud-google-com DNS_NAME=aiplatform-training.cloud.google.com DESCRIPTION=aiplatform-training.cloud.google.com gcloud dns managed-zones create $ZONE_NAME \ --visibility=private \ --networks=https://www.googleapis.com/compute/v1/projects/$PROJECT_ID/global/networks/$VPC_NAME \ --dns-name=$DNS_NAME \ --description="Training $DESCRIPTION" }
-
PROJECT_ID: Ihre Projekt-ID. Sie finden diese IDs auf der Begrüßungsseite der Google Cloud Console.
-
-
DNS-Transaktion aufzeichnen.
{ gcloud dns record-sets transaction start --zone=$ZONE_NAME gcloud dns record-sets transaction add \ --name=$DNS_NAME. \ --type=A 199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7 \ --zone=$ZONE_NAME \ --ttl=300 gcloud dns record-sets transaction add \ --name=*.$DNS_NAME. \ --type=CNAME $DNS_NAME. \ --zone=$ZONE_NAME \ --ttl=300 gcloud dns record-sets transaction execute --zone=$ZONE_NAME }
-
Senden Sie einen Trainingsjob mit aktivierter interaktiver Shell, VPC-SC und VPC-Peering.
Gemeinsame Verantwortung
Die Sicherung Ihrer Arbeitslasten auf der Gemini Enterprise Agent Platform ist eine gemeinsame Verantwortung. Die Gemini Enterprise Agent Platform aktualisiert regelmäßig Infrastrukturkonfigurationen, um Sicherheitslücken zu schließen. Sie aktualisiert jedoch nicht automatisch Ihre vorhandenen Ray on Vertex AI-Cluster und persistenten Ressourcen, um zu verhindern, dass laufende Arbeitslasten vorzeitig beendet werden. Daher sind Sie für Aufgaben wie die folgenden verantwortlich:
- Löschen Sie Ihre Ray on Vertex AI-Cluster und persistenten Ressourcen regelmäßig und erstellen Sie sie neu, um die neuesten Infrastrukturversionen zu verwenden. Die Gemini Enterprise Agent Platform empfiehlt, Ihre Cluster und persistenten Ressourcen mindestens einmal alle 30 Tage neu zu erstellen.
- Konfigurieren Sie alle benutzerdefinierten Images, die Sie verwenden, ordnungsgemäß.
Weitere Informationen finden Sie unter Gemeinsame Verantwortung.