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:
Verwenden Sie die Multi-Cluster-Ingress-APIs wie die Multi-Cluster-Ingress- und MultiClusterService-Ressourcen.
Verwenden Sie die Gateway-APIs (GatewayClass-, Gateway-, HTTPRoute-, Policy-, ServiceExport- und ServiceImport-Ressourcen).
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 |
| 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 infrastructure) |
- |
| 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
|
|||
| Verwaltung automatisierter Netzwerk-Endpunktgruppen (NEGs) |
(nur zonale NEGs) |
(nur zonale NEGs) |
(nur zonale NEGs, Annotation für den Kubernetes-Service erforderlich) |
| Cloud NGFW-Verwaltung | |||
| 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) |
||
| Cluster und Flotte (Hub) in verschiedenen Projekten | |||
| 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) | |||
Andere Back-Ends:
|
|||
| 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 | |||
| 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
- Multi-Cluster-Ingress einrichten
- Ingress clusterübergreifend bereitstellen
- Multi-Cluster-Gateway aktivieren
- Multi-Cluster-Gateways bereitstellen
- Containernatives Load Balancing über eigenständige zonale NEGs