Ray in der Google Kubernetes Engine (GKE)

Auf dieser Seite erhalten Sie eine Übersicht über den Ray-Operator und relevante benutzerdefinierte 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, um die Compute-Laufzeit für KI/ML auf mehrere Compute-Knoten zu verteilen.

Informationen zum Aktivieren des Ray-Operators in GKE finden Sie unter Ray-Operator in GKE aktivieren.

Vorteile 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 Ray für Python und der Zuverlässigkeit, Portabilität und Skalierbarkeit von GKE auf Unternehmensebene.

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, installiert und hostet GKE automatisch den KubeRay-Operator.

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, den GKE als Kubernetes-Pods bereitstellt. 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 RayCluster, um Compute-Ressourcen für den Job bereitzustellen, und erstellt dann einen Kubernetes-Job, der den Ray-Job an den Head-Pod des RayCluster sendet.

Für eine effiziente Ressourcenverwaltung 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 konfigurieren, z. B. Anwendungen für die Modellbereitstellung und ‑Inferenz. KubeRay erstellt einen RayCluster, um die Compute-Ressourcen 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 in GKE mit dem Ray-Operator ausführen, ist es wichtig zu verstehen, wie die Verantwortlichkeiten zwischen Google Cloud Google und Ihnen als Kunde aufgeteilt sind:

Verantwortlichkeiten von Google

  • Zuverlässigkeit und Verfügbarkeit des KubeRay-Operators aufrechterhalten.
  • Versionsupgrades für den KubeRay-Operator verwalten.
  • Spezifische Funktionen von 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.
  • Verwalten der Versionsverwaltung und Upgrades für die Ray-Head- und Ray-Worker-Pods.
  • Ressourcenanforderungen (CPU, GPU, Arbeitsspeicher usw.) für Ihre Ray-Cluster konfigurieren.
  • Best Practices zum Sichern von Ray-Clustern befolgen.
  • Zuverlässigkeit und Monitoring für Ihre Ray-Anwendungen.

Weitere Informationen finden Sie unter Gemeinsame Verantwortung für GKE.

Nächste Schritte