Auf dieser Seite erhalten Sie einen Überblick über den Ray Operator und die relevanten benutzerdefinierten Ressourcen zum Bereitstellen und Verwalten von Ray-Clustern und ‑Anwendungen in Google Kubernetes Engine (GKE).
Ray ist ein einheitliches Open-Source-Compute-Framework zum Skalieren von KI-/ML- und Python-Anwendungen. Ray bietet eine Reihe von Bibliotheken, mit denen die Compute-Laufzeit für KI/ML auf mehrere Compute-Knoten verteilt werden kann.
Informationen zum Aktivieren des Ray-Operators in GKE finden Sie unter Ray-Operator in GKE aktivieren.
Vorteile der Verwendung des Ray-Operators in GKE
Der Ray-Operator ist die empfohlene Methode zum Bereitstellen und Verwalten von Ray-Clustern in GKE. Wenn Sie den Ray-Operator in GKE ausführen, profitieren Sie von der Unterstützung von Python durch Ray und der Zuverlässigkeit, Portabilität und Skalierbarkeit von GKE auf Unternehmensniveau.
Der Ray-Operator in GKE basiert auf KubeRay, das deklarative Kubernetes APIs speziell für die Verwaltung von Ray-Clustern bereitstellt. Das bedeutet, dass Sie Ihre Ray-Bereitstellungen mit anderen containerisierten Arbeitslasten in GKE bereitstellen, skalieren und verwalten können.
Funktionsweise des Ray-Operators in GKE
Wenn Sie den Ray-Operator in Ihren GKE-Clustern aktivieren, wird der KubeRay-Operator automatisch von GKE installiert und gehostet.
KubeRay bietet benutzerdefinierte Kubernetes-Ressourcen zum Verwalten von Ray-Bereitstellungen in Kubernetes, darunter:
Benutzerdefinierte RayCluster-Ressource
Mit der benutzerdefinierten RayCluster-Ressource können Sie einen Ray-Cluster angeben, der von GKE als Kubernetes-Pods bereitgestellt wird. Ein Ray-Cluster besteht in der Regel aus einem einzelnen Head-Pod und mehreren Worker-Pods.
Benutzerdefinierte RayJob-Ressource
Mit der benutzerdefinierten RayJob-Ressource können Sie einen einzelnen Ray-Job ausführen. KubeRay erstellt einen Ray-Cluster, um Rechenressourcen für den Job bereitzustellen, und erstellt dann einen Kubernetes-Job, der den Ray-Job an den Head-Pod des Ray-Clusters sendet.
Für ein effizientes Ressourcenmanagement können Sie KubeRay so konfigurieren, dass der RayCluster automatisch bereinigt wird, nachdem Ihr Job erfolgreich abgeschlossen wurde.
Benutzerdefinierte RayService-Ressource
Mit der benutzerdefinierten RayService-Ressource können Sie Ray Serve-Anwendungen wie Anwendungen für die Modellbereitstellung und ‑inferenz konfigurieren. KubeRay erstellt einen RayCluster, um die Rechenressourcen bereitzustellen, und stellt dann die Ray Serve-Anwendung gemäß der Ray Serve-Konfiguration bereit.
Gemeinsame Verantwortung für Ray in GKE
Wenn Sie Ray-Arbeitslasten mit dem Ray-Operator in GKE ausführen, ist es wichtig zu wissen, wie die Verantwortlichkeiten zwischen Google Cloudund Ihnen als Kunde aufgeteilt sind:
Verantwortlichkeiten von Google
- Zuverlässigkeit und Verfügbarkeit des KubeRay-Operators aufrechterhalten.
- Verwalten von Versionsupgrades für den KubeRay-Operator.
- Funktionen speziell für KubeRay zum Verwalten der benutzerdefinierten Ressourcen RayCluster, RayJob und RayService.
Verantwortlichkeiten des Kunden
- Container-Images für die Ray-Head- und Ray-Worker-Pods verwalten.
- Verwaltung der Versionsverwaltung und Upgrades für die Ray-Head- und Ray-Worker-Pods.
- Konfigurieren von Ressourcenanforderungen (CPU, GPU, Arbeitsspeicher usw.) für Ihre Ray-Cluster.
- Befolgen Sie die Best Practices für die Sicherung von Ray-Clustern.
- Zuverlässigkeit und Monitoring für Ihre Ray-Anwendungen.
Weitere Informationen finden Sie unter Gemeinsame Verantwortung für GKE.