Multi-Cluster-GKE-Inference Gateway

Das Multi-Cluster-GKE-Inference Gateway (Google Kubernetes Engine) führt einen Lastenausgleich für Ihre KI‑/ML-Inferenzarbeitslasten auf mehreren GKE-Clustern durch. Es integriert GKE-Multi-Cluster-Gateways für das clusterübergreifende Traffic-Routing mit Inference Gateway für die Bereitstellung von KI-/ML-Modellen. Diese Integration verbessert die Skalierbarkeit und Hochverfügbarkeit Ihrer Deployments. In diesem Dokument werden die wichtigsten Konzepte und Vorteile des Gateways erläutert.

Weitere Informationen zum Bereitstellen des Multi-Cluster-GKE-Inference Gateway finden Sie unter Multi-Cluster-GKE-Inference Gateway einrichten.

Um dieses Dokument zu verstehen, müssen Sie mit Folgendem vertraut sein:

Dieses Dokument richtet sich an die folgenden Personen:

  • ML-Entwickler, Plattformadministratoren und ‑operatoren sowie Daten- und KI-Spezialisten, die daran interessiert sind, Kubernetes-Container-Orchestrierungsfunktionen für die Bereitstellung von KI‑/ML-Arbeitslasten zu nutzen.
  • Cloud-Architekten oder Netzwerkspezialisten, die mit Kubernetes-Netzwerken interagieren.

Weitere Informationen zu gängigen Rollen und Beispielaufgaben, auf die wir inGoogle Cloud Inhalten verweisen, finden Sie unter Häufig verwendete GKE Enterprise-Nutzerrollen und -Aufgaben.

Vorteile des GKE-Multi-Cluster-Inference Gateway

Das Multi-Cluster GKE Inference Gateway bietet mehrere Vorteile für die Verwaltung Ihrer KI/ML-Inferenzarbeitslasten, darunter die folgenden:

  • Verbessert die Hochverfügbarkeit und Fehlertoleranz durch intelligentes Load-Balancing über mehrere GKE-Cluster hinweg, auch in verschiedenen geografischen Regionen. Ihre Inferenzarbeitslasten bleiben verfügbar und das System leitet Anfragen automatisch um, wenn in einem Cluster oder einer Region Probleme auftreten. So wird die Ausfallzeit minimiert.
  • Verbessert die Skalierbarkeit und optimiert die Ressourcennutzung, indem GPU- und TPU-Ressourcen aus verschiedenen Clustern zusammengefasst werden, um die erhöhte Nachfrage zu bewältigen. Durch diese Bündelung können Ihre Arbeitslasten die Kapazität eines einzelnen Clusters überschreiten und verfügbare Ressourcen in Ihrer Flotte effizient nutzen.
  • Die Leistung wird durch global optimiertes Routing maximiert. Das Gateway verwendet erweiterte Messwerte wie die KV-Cache-Nutzung (Schlüssel/Wert-Cache) aus allen Clustern, um effiziente Routing-Entscheidungen zu treffen. So wird sichergestellt, dass Anfragen an den Cluster gesendet werden, der am besten für die Verarbeitung geeignet ist. Dadurch wird die Gesamtleistung Ihrer KI/ML-Inferenzflotte maximiert.

Beschränkungen

Für das Multi-Cluster-GKE Inference Gateway gelten die folgenden Einschränkungen:

  • Model Armor-Integration: Das Multi-Cluster-GKE-Inference Gateway unterstützt die Model Armor-Integration nicht.

  • Latenzberichte für Envoy-Proxy: Der Envoy-Proxy meldet die Abfragelatenz nur für erfolgreiche (2xx) Anfragen. Fehler und Zeitüberschreitungen werden ignoriert. Dieses Verhalten kann dazu führen, dass der globale Server-Load-Balancer (GSLB) die tatsächliche Last auf fehlerhaften Backends unterschätzt und möglicherweise mehr Traffic an bereits überlastete Dienste weiterleitet. Konfigurieren Sie ein längeres Zeitlimit für Anfragen, um dieses Problem zu beheben. Es wird beispielsweise ein Wert von 600s empfohlen.

  • Limits für Netzwerk-Endpunktgruppen (NEGs): Es gilt ein Limit von 50 NEGs proGoogle Cloud Backend-Dienst. Wenn Sie einen InferencePool mit mehreren Ports verwenden, wird für jeden Port in jeder Zone eine eigene NEG erstellt. Ein InferencePool mit acht Ports in einem typischen regionalen Cluster (drei Zonen) generiert beispielsweise 24 NEGs. Daher kann ein Multi-Cluster-Gateway einen solchen InferencePool nur aus maximal zwei Clustern aggregieren (2 Cluster × 24 NEGs = 48 NEGs), bevor das Limit von 50 NEGs erreicht wird.

Schlüsselkomponenten

Das Multi-Cluster-GKE Inference Gateway verwendet mehrere benutzerdefinierte Kubernetes-Ressourcen, um Inferenzarbeitslasten und das Traffic-Routing zu verwalten:

  • InferencePool: Gruppiert identische Modellserver-Backends in Ihrem Zielcluster. Diese Ressource vereinfacht die Verwaltung und Skalierung Ihrer Modellbereitstellungsinstanzen. InferencePool-Objekte mit mehreren Ports werden in Einzel- und Multi-Cluster-Bereitstellungen unterstützt.
  • InferenceObjective: Definiert Routing-Prioritäten für bestimmte Modelle in einem InferencePool. Durch dieses Routing wird sichergestellt, dass bestimmte Modelle basierend auf Ihren Anforderungen bevorzugt behandelt werden.
  • GCPInferencePoolImport: Macht Ihre Modell-Back-Ends für die Routingkonfiguration verfügbar, indem HTTPRoute im Konfigurationscluster verwendet wird. Diese Ressource wird automatisch in Ihrem Konfigurationscluster erstellt, wenn Sie einen InferencePool aus einem Zielcluster exportieren. Der Konfigurationscluster fungiert als zentraler Kontrollpunkt für Ihre Multi-Cluster-Umgebung.
  • GCPBackendPolicy: Hiermit wird angepasst, wie der Traffic auf Ihre Backends verteilt wird. Sie können beispielsweise den Lastenausgleich basierend auf benutzerdefinierten Messwerten aktivieren oder Grenzwerte für In-Flight-Anfragen pro Endpunkt festlegen, um Ihre Modellserver zu schützen.
  • AutoscalingMetric: Definiert benutzerdefinierte Messwerte wie vllm:kv_cache_usage_perc, die von Ihren Modellservern exportiert werden sollen. Anschließend können Sie diese Messwerte in GCPBackendPolicy verwenden, um intelligentere Entscheidungen zum Lastenausgleich zu treffen und die Leistung und Ressourcennutzung zu optimieren.

Funktionsweise des Multi-Cluster-GKE Inference Gateways

Das Multi-Cluster-GKE-Inference-Gateway verwaltet und leitet Traffic an Ihre KI-/ML-Modelle weiter, die in mehreren GKE-Clustern bereitgestellt werden. Das funktioniert so:

  • Zentrale Trafficverwaltung:Ein dedizierter Konfigurationscluster definiert Ihre Traffic-Routingregeln. Der Konfigurationscluster fungiert als zentraler Kontrollpunkt für Ihre Multi-Cluster-Umgebung. Sie legen einen GKE-Cluster als Konfigurationscluster fest, wenn Sie Multi-Cluster-Ingress für Ihre Flotte aktivieren. Mit diesem zentralen Ansatz können Sie von einem einzigen Ort aus verwalten, wie Anfragen an Ihre Modelle in Ihrer gesamten Flotte von GKE-Clustern weitergeleitet werden.
  • Flexible Modellbereitstellung:Ihre tatsächlichen KI-/ML-Modelle werden in separaten Zielclustern ausgeführt. Durch diese Trennung können Sie Modelle dort bereitstellen, wo es am sinnvollsten ist, z. B. näher an den Daten oder an Clustern mit bestimmter Hardware.
  • Einfache Integration von Modellen:Wenn Sie ein Modell in einem Zielcluster bereitstellen, gruppieren Sie die zugehörigen Bereitstellungsinstanzen mit einem InferencePool. Wenn Sie diesen InferencePool exportieren, ist er automatisch für das Routing in Ihrem Konfigurationscluster verfügbar.
  • Intelligenter Lastenausgleich:Das Gateway verteilt nicht nur den Traffic, sondern trifft auch intelligente Routingentscheidungen. Wenn Sie das Gateway so konfigurieren, dass es verschiedene Signale verwendet, einschließlich benutzerdefinierter Messwerte von Ihren Modellservern, können Sie dafür sorgen, dass eingehende Anfragen an den am besten geeigneten Cluster oder die am besten geeignete Modellinstanz gesendet werden. So lassen sich Leistung und Ressourcennutzung maximieren. Sie können Anfragen beispielsweise basierend auf Messwerten wie der KV-Cache-Nutzung (Schlüssel/Wert-Cache) an den Cluster mit der größten verfügbaren Inferenzkapazität weiterleiten.

Nächste Schritte