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