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
- Informationen zum Aktivieren des Ray-Operators in GKE
- Lesen Sie die Ray in Kubernetes-Dokumentation.