Ray in der Google Kubernetes Engine (GKE)


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 der Google Kubernetes Engine (GKE).

Ray ist ein einheitliches Open-Source-Compute-Framework zur Skalierung 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 des Ray-Operators in GKE

Der Ray-Operator wird empfohlen, um Ray-Cluster in GKE bereitzustellen und zu verwalten. Wenn Sie den Ray-Operator in GKE ausführen, profitieren Sie von der Unterstützung von Python durch Ray und der Zuverlässigkeit, Mobilitä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, wird der KubeRay-Operator automatisch von GKE installiert und gehostet.

KubeRay bietet benutzerdefinierte Kubernetes-Ressourcen zur Verwaltung von Ray-Deployments 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 RayCluster, um Compute-Ressourcen für den Job bereitzustellen, und dann einen Kubernetes-Job, der den Ray-Job an den Head-Pod des RayClusters sendet.

Für eine effiziente Ressourcenverwaltung können Sie KubeRay so konfigurieren, dass der RayCluster nach Abschluss des Jobs automatisch bereinigt wird.

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 Rechenressourcen bereitzustellen, und stellt dann die Ray Serve-Anwendung gemäß der Ray Serve-Konfiguration bereit.

Gemeinsame Verantwortung bei Ray in GKE

Wenn Sie Ray-Arbeitslasten mit dem Ray-Operator in GKE ausführen, ist es wichtig, die Zuständigkeiten zwischen Google Cloud und Ihnen als Kunden zu kennen:

Verantwortlichkeiten von Google

  • Zuverlässigkeit und Verfügbarkeit des KubeRay-Operators aufrechterhalten
  • Versionsupgrades für den KubeRay-Operator verwalten
  • KubeRay-spezifische Funktionen zum Verwalten der benutzerdefinierten RayCluster-, RayJob- und RayService-Ressourcen.

Verantwortlichkeiten des Kunden

  • Container-Images für die Ray-Master- und Ray-Worker-Pods verwalten
  • Versionsverwaltung und Upgrades für den Ray-Head- und Ray-Worker-Pod aufrechterhalten
  • Ressourcenanforderungen (CPU, GPU, Arbeitsspeicher usw.) für Ihre Ray-Cluster konfigurieren
  • Beachten Sie die Best Practices für die Sicherheit von Ray-Clustern.
  • Zuverlässigkeit und Monitoring für Ihre Ray-Anwendungen

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

Nächste Schritte