Multi-Cluster-GKE-Inference-Gateway

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

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

Um dieses Dokument zu verstehen, müssen Sie mit den folgenden Themen vertraut sein:

Dieses Dokument richtet sich an die folgenden Personen:

  • Machine-Learning-Entwickler, Plattformadministratoren und ‑operatoren sowie Daten- und KI-Spezialisten, die Kubernetes-Container-Orchestrierungsfunktionen für die Bereitstellung von KI-/ML-Arbeitslasten nutzen möchten
  • Cloud-Architekten oder Netzwerkspezialisten, die mit Kubernetes-Netzwerken arbeiten

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

Vorteile des Multi-Cluster-Inference-Gateways der GKE

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

  • 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 es Probleme mit einem Cluster oder einer Region gibt. So werden Ausfallzeiten minimiert.
  • Verbessert die Skalierbarkeit und optimiert die Ressourcennutzung durch das Pooling von GPU- und TPU-Ressourcen aus verschiedenen Clustern, um die erhöhte Nachfrage zu bewältigen. Durch dieses Pooling können Ihre Arbeitslasten die Kapazität eines einzelnen Clusters übersteigen und verfügbare Ressourcen in Ihrer Flotte effizient nutzen.
  • Maximiert die Leistung durch global optimiertes Routing. Das Gateway verwendet erweiterte Messwerte wie die Nutzung des Key-Value-Caches (KV-Cache) aus allen Clustern, um effiziente Routingentscheidungen zu treffen. So wird sichergestellt, dass Anfragen an den Cluster weitergeleitet werden, der am besten für die Verarbeitung geeignet ist. Dadurch wird die Gesamtleistung für Ihre KI-/ML-Inferenzflotte maximiert.

Beschränkungen

Für das Multi-Cluster-Inference-Gateway der GKE gelten folgende Einschränkungen:

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

  • Latenzberichte für Envoy Proxy: 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 Global Server Load Balancer (GSLB) die tatsächliche Last auf fehlerhaften Back-Ends unterschätzt und möglicherweise mehr Traffic an bereits überlastete Dienste weiterleitet. Um dieses Problem zu beheben, konfigurieren Sie ein längeres Zeitlimit für Anfragen. Ein Wert von 600s wird beispielsweise empfohlen.

  • Limits für Netzwerk-Endpunktgruppen (NEGs): hat ein Limit von 50 NEGs pro Google Cloud Backend-Dienst. Bei Verwendung eines InferencePool mit mehreren Ports 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 (zwei Cluster × 24 NEGs = 48 NEGs), bevor das Limit von 50 NEGs erreicht wird.

Schlüsselkomponenten

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

  • InferencePool: gruppiert identische Modellserver-Back-Ends in Ihrem Ziel cluster. 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 Routingprioritäten für bestimmte Modelle in einem InferencePool. So wird sichergestellt, dass bestimmte Modelle basierend auf Ihren Anforderungen bevorzugt behandelt werden.
  • GCPInferencePoolImport: stellt Ihre Modell-Back-Ends für die Routingkonfiguration zur Verfügung, indem HTTPRoute im Konfigurationscluster verwendet wird. Diese Ressource wird automatisch in Ihrem Konfigurationscluster erstellt, wenn Sie einen InferencePool aus einem Zielcluster exportieren. Der Konfigurationscluster dient als zentraler Kontrollpunkt für Ihre Multi-Cluster-Umgebung.
  • GCPBackendPolicy: passt an, wie der Traffic auf Ihre Back-Ends verteilt wird. Sie können beispielsweise das Load-Balancing basierend auf benutzerdefinierten Messwerten aktivieren oder Limits für Anfragen festlegen, die sich pro Endpunkt in der Verarbeitung befinden, um Ihre Modellserver zu schützen.
  • AutoscalingMetric: definiert benutzerdefinierte Messwerte wie vllm:kv_cache_usage_perc, die von Ihren Modellservern exportiert werden sollen. Sie können diese Messwerte dann in GCPBackendPolicy verwenden, um intelligentere Load-Balancing-Entscheidungen zu treffen und die Leistung und Ressourcennutzung zu optimieren.

Funktionsweise des Multi-Cluster-Inference-Gateways der GKE

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

  • Zentrale Traffic-Verwaltung:Ein dedizierter Konfigurationscluster definiert Ihre Traffic-Routingregeln. Der Konfigurationscluster dient 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 an einem Ort 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 Bereitstellungsinstanzen mit einem InferencePool. Wenn Sie diesen InferencePool exportieren, ist er automatisch für das Routing in Ihrem Konfigurationscluster verfügbar.
  • Intelligentes Load-Balancing:Das Gateway verteilt nicht nur Traffic, sondern trifft auch intelligente Routingentscheidungen. Wenn Sie es so konfigurieren, dass es verschiedene Signale verwendet, einschließlich benutzerdefinierter Messwerte von Ihren Modellservern, kann das Gateway 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 Nutzung des Key-Value-Caches (KV-Cache) an den Cluster mit der größten verfügbaren Inferenzkapazität weiterleiten.

Nächste Schritte