Multi-Cluster-Load-Balancing-API für GKE auswählen


Auf dieser Seite erfahren Sie, wie Sie die am besten geeignete API für die Bereitstellung von Load Balancern auswählen, um den Traffic auf eine Reihe von Google Kubernetes Engine-Clustern (GKE) zu verteilen.

So können Sie einen Load Balancer an Ihre Flotte von GKE-Clustern anhängen:

  1. Verwenden Sie die Multi-Cluster-Ingress-APIs wie die Multi-Cluster-Ingress- und MultiClusterService-Ressourcen.

  2. Verwenden Sie die Gateway-APIs (GatewayClass-, Gateway-, HTTPRoute-, Policy-, ServiceExport- und ServiceImport-Ressourcen).

  3. Richten Sie den Application Load Balancer mit der Google Cloud Console, der gcloud CLI, der API, Terraform oder Config Connector ein und hängen Sie eigenständige NEGs an die vom Nutzer verwalteten Backend-Dienste an.

In der folgenden Tabelle sind die verschiedenen Möglichkeiten aufgeführt, wie Sie einen Load Balancer an Ihre Flotte von GKE-Clustern anhängen können. Alle Features, die auf der Seite Load-Balancer-Funktionsvergleich und nicht in der folgenden Tabelle aufgeführt sind, sollten mit einem vom Nutzer verwalteten Load Balancer mit eigenständigen NEGs funktionieren und keine Kubernetes-native API für das Load Balancing erfordern.

Lösung Multi-Cluster-Ingress Multi-Cluster-Gateway Vom Nutzer verwalteter Load Balancer mit eigenständigen NEGs
Unterstützung für GKE-Plattformen
Phase der Produkteinführung GA GA GA
GKE-Editionen Enterprise/Standard Enterprise/Standard Enterprise/Standard
Clustermodus Standard/Autopilot Standard/Autopilot Standard/Autopilot
GKE-Version 1.18 und höher GKE 1.24 und höher für Standard und 1.26 und höher für Autopilot 1.18 und höher
Architektur und Komponenten
Von Google verwalteter Kubernetes-Controller
Controller GKE Multi-Cluster-Ingress Controller GKE Gateway Controller -
Standort des Controllers Außerhalb des Clusters

(Google Cloud-Infrastruktur)

Außerhalb des Clusters

(Google Cloud-Infrastruktur)

-
API Kubernetes-native API Kubernetes-native API Google Cloud API (gcloud CLI)
API-Ressourcen MultiClusterIngress, MultiClusterService GatewayClass, Gateway, HTTPRoute, *Policy -
Phasen der API-Einführung GA (v1) GA (v1) -
API-Aktivierung in GKE Clustereinstellung in Autopilot/Standard Standardeinstellung in Autopilot

Clustereinstellung in Standard

-
Unterstützung für Multi-Cluster-Dienste
Multi-Cluster-Dienste (MCS) erforderlich
MCS-API-Version networking.gke.io/v1 net.gke.io/v1 -
Ressourcentyp MultiClusterService ServiceExport -
Lizenz Proprietär Open Source -
Verwaltung des Lebenszyklus von Cloud-Netzwerkressourcen (mit Ausnahme von freigegebener VPC)
Automatisierte Verwaltung der Frontend-IP-Adresse
Automatisierte Verwaltung von Cloud-Load-Balancern
  • Weiterleitungsregel
  • Zielproxy
  • URL-Zuordnung
  • Backend-Dienste
  • Systemdiagnosen
Verwaltung automatisierter Netzwerk-Endpunktgruppen (NEGs)

(nur zonale NEGs)

(nur zonale NEGs)

(nur zonale NEGs, Annotation für den Kubernetes-Service erforderlich)

Cloud NGFW-Verwaltung

(nur VPC-Firewallregeln, verwaltete Regeln)

(nur VPC-Firewallregeln, verwaltete Regeln)

Unterstützung für freigegebene VPC
Cluster und Flotte (Hub) im Hostprojekt
Cluster und Flotte im selben Dienstprojekt

(mit Berechtigungen für Firewallregeln im Hostprojekt)

(mit Berechtigungen für Firewallregeln im Hostprojekt)

Cluster und Flotte (Hub) in verschiedenen Projekten

(mit projektübergreifenden Service-Verweisen)

Load-Balancer-Unterstützung
Application Load Balancer
Klassisch
Global, extern
Regional, extern
Regional intern
Regionenübergreifend, intern
Proxy-Network-Load-Balancer
Klassisch
Global, extern
Regional, extern
Intern (immer regional)
Passthrough-Network-Load-Balancer
Extern (immer regional)
Intern (immer regional)
Unterstützung von Client-zu-Load-Balancer-Protokollen
HTTP, HTTPS, HTTP/2
WebSocket
HTTP/3 (basierend auf IETF QUIC)
SSL (TLS) oder TCP
Unterstützung für Load-Balancer-Back-Ends
Pods (zonale NEGs)
Virtuelle Maschinen (einschließlich GKE-Knoten)

(nicht empfohlen)

Andere Back-Ends:
  • Cloud Storage
  • Öffentliche externe Endpunkte (Internet-NEGs)
  • Private externe Endpunkte (Hybrid-NEGs)
  • Private Service Connect (PSC-NEGs)
  • Cloud Run (serverlose NEGs)
Unterstützung von Load-Balancer-zu-Back-Ends-Protokollen
HTTP, HTTPS, HTTP/2 (eines davon)
WebSocket
SSL (TLS) oder TCP (eines davon)
IP-Adressierung und Protokolle
Dynamische IP-Adresszuweisung
Statische IP-Adresszuweisung
Gleiche IP-Adresse für mehrere Ports (HTTP, HTTPS)
IPv6

(Load-Balancer-zu-Backend-Traffic bleibt IPv4)

(Load-Balancer-zu-Backend-Traffic bleibt IPv4)

(Load-Balancer-zu-Backend-Traffic bleibt IPv4)

Routing und Trafficverwaltung
Globaler Zugriff
Projektübergreifendes Load-Balancing
Host-/Pfad-Routing

(Präfix, genaue Übereinstimmung)

(Präfix, genaue Übereinstimmung)

Header-basiertes Routing

(genaue Übereinstimmung)

Pfadweiterleitungen
URL-Umschreibungen
Trafficaufteilung
Traffic-Spiegelung
Trafficumstellung
Traffic-basiertes Autoscaling
Benutzerdefinierte Anfrageheader
Benutzerdefinierte Antwortheader
Namespace-übergreifendes Routing
Frontend-Sicherheit
SSL-Richtlinie
HTTP-zu-HTTPS-Weiterleitung
Unterstützung mehrerer TLS-Zertifikate
Auf Secrets beruhende Kubernetes-Zertifikate
Selbstverwaltete SSL-Zertifikate
Von Google verwaltete SSL-Zertifikate
Unterstützung von Certificate Manager
Backend-Diensteigenschaften
Zeitlimit für Verbindungsausgleich
Sitzungsaffinität
Konfiguration des HTTP-Zugriffs-Loggings
Zeitlimit für Backend-Dienst
Benutzerdefinierte Konfiguration von Systemdiagnosen für Load Balancer

(BackendConfig)

(HealthCheckPolicy)

(gcloud CLI / Google Cloud Console / Terraform)

TLS-zu-Backend-Dienste
Benutzerdefiniertes Standard-Backend
Cloud CDN

(nicht alle Features)

(alle Features)

Identity-Aware Proxy (IAP)
Google Cloud Armor-Sicherheitsrichtlinie

Nächste Schritte