LoadBalancer-Dienstparameter


Auf dieser Seite werden Parameter für Dienstmanifeste beschrieben, die das Verhalten und die Konfiguration des LoadBalancer-Dienstes steuern. Bevor Sie diese Seite lesen, sollten Sie mit den Konzepten der LoadBalancer-Dienste für Google Kubernetes Engine (GKE) vertraut sein.

Dienstparameter

GKE unterstützt die folgenden Parameter für LoadBalancer-Dienste.

Parameter Dienstfeld und -beschreibung Intern Extern Versionsunterstützung
Interner Passthrough-Network-Load-Balancer networking.gke.io/load-balancer-type: "Internal"

Weist GKE an, einen internen Passthrough-Network-Load-Balancer zu erstellen.

Weitere Informationen finden Sie unter Konzepte des LoadBalancer-Dienstes.

Alle unterstützten Versionen.
Backend-Dienst-basierter externer Passthrough-Network-Load-Balancer cloud.google.com/l4-rbs: "enabled"

Weist GKE an, einen Backend-Dienst-basierten externen Passthrough-Network-Load-Balancer zu erstellen.

Weitere Informationen finden Sie unter Konzepte des LoadBalancer-Dienstes.

GKE 1.25.5+
Gewichtetes Load Balancing networking.gke.io/weighted-load-balancing: "pods-per-node"

Knoten mit mehr Bereitstellungs-Pods erhalten einen größeren Anteil an neuen Verbindungen als Knoten mit weniger Bereitstellungs-Pods.

GKE 1.31.0 und höher
Richtlinie für internen Traffic spec.internalTrafficPolicy

Wenn Local festgelegt ist, leitet GKE nur Pakete von Client-Pods auf einem Knoten an Bereitstellungs-Pods auf demselben Knoten weiter. Wenn Cluster festgelegt ist, leitet GKE Pakete von Client-Pods auf einem Knoten an Bereitstellungs-Pods auf einem beliebigen Knoten weiter. Weitere Informationen finden Sie unter Richtlinie für internen Traffic von Diensten.

Dieser Parameter wird nicht für Cluster unterstützt, auf denen GKE Dataplane V2 ausgeführt wird.

GKE ab Version 1.22
Richtlinie für externen Traffic spec.externalTrafficPolicy

Steuert, welche Knoten-VMs Systemdiagnosen des Load-Balancers bestehen und wie Pakete an Bereitschafts- und Bereitstellungs-Pods im Cluster weitergeleitet werden. Steuert auch, wie Knoten in GCE_VM_IP-NEGs gruppiert werden, wenn die GKE-Teileinstellung aktiviert ist.

Weitere Informationen finden Sie unter Konzepte des LoadBalancer-Dienstes.

GKE 1.14 und höher (1.23.4-gke.400 und höher für Windows-Knotenpool)
Systemdiagnose-Port spec.healthCheckNodePort

Stellt eine Load-Balancer-Systemdiagnose für LoadBalancer-Dienste bereit. Dieser Parameter ist nur gültig, wenn spec.externalTrafficPolicy auf Local gesetzt ist.

Alle unterstützten Versionen.
Firewallregeln und Zulassungsliste für Quell-IP-Adressen spec.loadBalancerSourceRanges

Konfiguriert optionale Firewallregeln in GKE und im der VPC-netzwerk, um nur bestimmte Quellbereiche zuzulassen Mit kube-proxy werden auch iptables-Regeln so konfiguriert, dass sie mit den angegebenen Quellbereichen übereinstimmen.

Alle unterstützten Versionen.
Statische IP-Adressen
  • spec.loadBalancerIP (Nur IPv4)
  • networking.gke.io/load-balancer-ip-addresses

Gibt eine statische IPv4-Adresse, einen statischen IPv6-Adressbereich oder beides an, die den Weiterleitungsregeln des Load-Balancers zugewiesen sind. Wichtige Konfigurationsanforderungen und Implementierungsdetails finden Sie unter Überlegungen zur Freigabe einer gemeinsamen IP-Adresse.

  • spec.loadBalancerIP: Alle unterstützten Versionen
  • networking.gke.io/load-balancer-ip-addresses: GKE 1.29 und höher. Informationen zu weiteren Anforderungen für die Clusterkonfiguration oder Annotation finden Sie unter Parameter für statische IP-Adressen.
Netzwerkdienststufen cloud.google.com/network-tier

Gibt an, welche Netzwerkdienststufen GKE für die externe Weiterleitungsregel und IP-Adresse verwendet. Gültige Annotationswerte sind Standard und Premium (Standard).

GKE 1.19 und höher.
Benutzerdefiniertes Subnetz
  • networking.gke.io/internal-load-balancer-subnet
  • networking.gke.io/load-balancer-subnet

(nur für IPv6)
  • networking.gke.io/internal-load-balancer-subnet: Alle unterstützten Versionen
  • networking.gke.io/load-balancer-subnet: GKE 1.29 und höher. Weitere Anforderungen finden Sie unter Benutzerdefinierte Subnetzannotationen.
Globaler Zugriff networking.gke.io/internal-load-balancer-allow-global-access: "true"

Ermöglicht, dass die IP-Adresse der Weiterleitungsregel für Clients in jeder Region des VPC-Netzwerks oder eines angeschlossenen Netzwerks zugänglich ist.

Vorschau in GKE 1.16 und höher. Allgemein verfügbar in GKE 1.17.9-gke.600 und höher.
Alle Ports

GKE konfiguriert die Weiterleitungsregel automatisch für die Verwendung aller Ports, wenn in spec.ports[].port mehr als fünf (bis zu 100) eindeutige Ports angegeben sind.

GKE-Version 1.18.19-gke.1400 oder höher
ipFamilyPolicy

spec.ipFamilyPolicy

Definiert, wie GKE einem Service IP-Adressen zuweist. Sie können spec.ipFamilyPolicy als SingleStack, PreferDualStack oder RequireDualStack definieren.

Weitere Informationen finden Sie unter IPv4/IPv6-Dual-Stack-Dienste.

GKE-Cluster in Version 1.29 oder höher unterstützen Dual-Stack-Netzwerke für LoadBalancer-Dienste.
ipFamilies (optional)

spec.ipFamilies

Definiert die IP-Adressfamilie, um entweder Single-Stack- oder Dual-Stack-Dienste zuzuweisen. Verwende einen der folgenden Werte:

  • IPv4 nur für Single-Stack-IPv4-Dienste.
  • IPv6 nur für IPv6-Dienst.
  • IPv4,IPv6 für einen Dual-Stack-Dienst, bei dem die primäre IP-Adresse des Dienstes IPv4 ist.
  • IPv6,IPv4 für einen Dual-Stack-Dienst, bei dem die primäre IP-Adresse des Dienstes IPv6 ist.
GKE-Cluster in Version 1.29 oder höher unterstützen Dual-Stack-Netzwerke für LoadBalancer-Dienste.

Systemdiagnose-Port

Wie unter Load-Balancer-Systemdiagnosen beschrieben, stellt GKE immer eine Load-Balancer-Systemdiagnose bereit, wenn ein externer Passthrough-Network-Load-Balancer oder ein interner Passthrough-Network-Load-Balancer erstellt wird.

Ob Sie den Parameter healthCheckNodePort einrichten können, hängt von der folgenden externalTrafficPolicy-Konfiguration ab:

externalTrafficPolicy Systemdiagnose-Port
Cluster

Sie können spec.healthCheckNodePort nicht verwenden.

Local

Sie können einen benutzerdefinierten Port mit spec.healthCheckNodePort auswählen. Wenn nicht angegeben, weist die Kubernetes-Steuerungsebene einen Systemdiagnoseport aus dem Knotenportbereich zu.

Firewallregeln und Zulassungsliste für Quell-IP-Adressen

Sofern Sie einen Cluster nicht so konfiguriert haben, dass das Erstellen von VPC-Firewallregeln für LoadBalancer-Dienste übersprungen wird, erstellt GKE für jeden Dienst eine VPC-Firewallregel für zulässigen eingehenden Traffic.

Jede automatisch erstellte Firewallregel hat die folgenden Eigenschaften:

  • Die Richtung der Firewallregel ist „ingress” und ihre Aktion ist „allow”. Die implizierte Firewallregel zum Ablehnen von eingehendem Traffic in Google Cloudbedeutet, dass GKE ein Modell auf der Zulassungsliste verwendet, wenn Sie Firewallregeln für eingehenden Traffic erstellen.
  • GKE legt das Protokoll und den Zielport der Firewallregel auf diejenigen fest, die in der spec.ports[]-Liste des Dienstes angegeben sind.
  • GKE konfiguriert Firewallregeln für LoadBalancer-Dienste, indem es den Zielparameter explizit auf die virtuelle IP-Adresse des Load Balancers (die Weiterleitungsregel des Load Balancers) festlegt.
  • GKE legt den Zielparameter der Firewallregel so fest, dass alle Knoten des Clusters eingeschlossen sind.
  • Wenn der Dienst spec.loadBalancerSourceRanges[] enthält, legt GKE den Quellparameter der Firewallregel auf die IP-Adressen in dieser Liste fest. Außerdem konfiguriert GKE Routen und Regeln im Knotenbetriebssystem, um die Quell-IP-Adressen für den load balancing-Traffic mithilfe von kube-proxy und iptables (Legacy Dataplane) oder cilium-agent und eBPF-Regeln (GKE Dataplane V2) einzuschränken. Wenn der Dienst loadBalancerSourceRanges[] nicht enthält, legt GKE den Quellparameter der Firewallregel auf alle IP-Adressen (0.0.0.0/0) fest.

Statische IP-Adressen

Sie können eine statische IP-Adresse erstellen und GKE so konfigurieren, dass diese der Weiterleitungsregel des Load-Balancers zugewiesen wird. Durch die Verwendung einer statischen IP-Adresse wird sichergestellt, dass die IP-Adresse des Load-Balancers gleich bleibt, auch wenn Sie Änderungen am LoadBalancer-Dienst vornehmen. Ohne eine statische IP-Adresse weist GKE der Weiterleitungsregel des Load-Balancers möglicherweise eine andere IP-Adresse zu, wenn Sie einen LoadBalancer-Dienst aktualisieren. Die IP-Adresse der Weiterleitungsregel ist nicht mit der Adresse spec.clusterIP des Dienstes identisch. Die ClusterIP-Adresse für einen Dienst ändert sich nie, wenn Sie einen LoadBalancer-Dienst aktualisieren.

Parameter für statische IP-Adressen

Um einen LoadBalancer-Dienst anzuweisen, eine statische IP-Adresse zu verwenden, verwenden Sie entweder den Parameter spec.loadBalancerIP oder die Annotation networking.gke.io/load-balancer-ip-addresses. Ab GKE-Version 1.29 hat die Annotation Vorrang vor spec.loadBalancerIP, wenn das Dienstmanifest sowohl den Parameter als auch die Annotation enthält.

Parameter oder Annotation und Wert Anforderungen und Funktionen
spec.loadBalancerIP:
IPv4_ADDRESS

Sie können eine statische interne IPv4-Adresse für einen reinen IPv4-LoadBalancer-Dienst angeben. Sie können eine statische externe IPv4-Adresse für einen reinen IPv4-LoadBalancer-Dienst angeben. Der Parameter funktioniert mit allen unterstützten GKE-Versionen.

networking.gke.io/load-balancer-ip-addresses:
IP_ADDRESS_RESOURCE_NAME
  • Legen Sie für Single-Stack-LoadBalancer-Dienste den Wert der Annotation auf den Namen der IPv4- oder IPv6-Adressressource fest, nicht auf die IP-Adresse selbst.
  • Legen Sie für Dual-Stack-LoadBalancer-Dienste den Wert der Annotation auf den statischen IPv4-Adressressourcennamen und den statischen IPv6-Adressbereichsressourcennamen fest, getrennt durch ein Komma.

Sie können eine statische IPv4-Adresse, einen statischen IPv6-Adressbereich oder beides für reine IPv4-, nur IPv6- und Dual-Stack-interne und externe LoadBalancer-Dienste angeben. Für die Annotation sind GKE 1.29 oder höher und die folgenden zusätzlichen Anforderungen erforderlich:

  • Wenn Sie diese Annotation mit einem internen LoadBalancer-Dienst verwenden möchten, müssen Sie den internen LoadBalancer-Dienst in einem Cluster erstellen, nachdem Sie die GKE-Teilmengeneinstellung aktiviert haben.
  • Wenn Sie diese Annotation mit einem externen LoadBalancer-Dienst verwenden möchten, müssen Sie die Annotation cloud.google.com/l4-rbs: "enabled" in das Dienstmanifest aufnehmen, wenn Sie den externen LoadBalancer-Dienst erstellen.

Hinweise zur Freigabe einer gemeinsamen IP-Adresse

Zwei oder mehr LoadBalancer-Dienste können auf dieselbe statische IP-Adresse verweisen, wenn die Weiterleitungsregel für jeden Load-Balancer eine eindeutige Kombination aus IP-Adresse, Protokoll, Portspezifikation und Netzwerkdienststufen-Spezifikation verwendet, wie in der Tabelle in diesem Abschnitt angegeben. Außerdem:

  • Statische IPv6-Adressen sind tatsächlich /96-IPv6-Adressbereiche. GKE konfiguriert jedoch nur Knoten so, dass sie Pakete an der ersten IPv6-Adresse (/128) im Bereich /96 akzeptieren.

  • Damit zwei oder mehr interne LoadBalancer-Dienste dieselbe interne IPv4-Adresse oder denselben internen IPv6-Adressbereich verwenden können, muss die statische IP-Adresse mit dem Zweck SHARED_LOADBALANCER_VIP erstellt werden.

Interner LoadBalancer-Dienst Externer LoadBalancer-Dienst
Portspezifikation

Weiterleitungsregeln für interne Passthrough-Network Load Balancer unterstützen bis zu fünf einzelne Portnummern oder können so konfiguriert werden, dass sie alle Ports verwenden.

Wenn für einen internen LoadBalancer-Dienst mehr als fünf spec.ports[] angegeben sind, konfiguriert GKE die Weiterleitungsregel für den internen Passthrough-Network-Load-Balancer, sodass alle Ports verwendet werden.

Weiterleitungsregeln mit derselben IP-Adresse und demselben Protokoll dürfen keine sich überschneidenden Ports haben. Das bedeutet, dass Sie nicht mehrere interne Load Balancer-Dienste mit derselben IP-Adresse, demselben Protokoll und denselben Ports erstellen können. Beispiel:

  • Wenn Sie einen internen LoadBalancer-Dienst mit dem TCP-Port 80 erstellen, können Sie keinen weiteren Dienst mit den TCP-Ports 80, 81 und 90 erstellen, da sich Port 80 überschneidet.
  • Wenn ein interner LoadBalancer-Dienst die TCP-Ports 80, 8080 und 90 verwendet, können Sie keinen weiteren Dienst mit TCP auf allen Ports erstellen, da dies zu überlappenden Ports führen würde.

Weitere Informationen finden Sie unter Weiterleitungsregeln für interne Passthrough-Network-Load-Balancer, die eine gemeinsame IP-Adresse verwenden.

GKE erstellt einen zielpoolbasierten externen Passthrough-Network Load Balancer, wenn das LoadBalancer-Dienstmanifest die Annotation cloud.google.com/l4-rbs: "enabled" nicht enthält.

Weiterleitungsregeln für zielpoolbasierte externe Passthrough-Network Load Balancer müssen zusammenhängende Portbereiche verwenden. Der zusammenhängende Portbereich umfasst alle Ports, die der Dienst benötigt, aber der Bereich kann auch zusätzliche Ports enthalten, die vom Dienst nicht verwendet werden. Beispiel: Ein externer LoadBalancer-Dienst, der von einem zielpoolbasierten externen Passthrough-Network Load Balancer bereitgestellt wird und in seinem Dienstmanifest die Ports 80 und 443 angibt, verwendet eine Weiterleitungsregel für den Load-Balancer mit einem Portbereich von 80–443. Dieser Portbereich verhindert, dass andere externe LoadBalancer-Dienste einen der Ports 80, 443 und eine der Zahlen zwischen 80 und 443 verwenden.

GKE erstellt einen Backend-Dienst-basierten externen Passthrough-Network Load Balancer, wenn das LoadBalancer-Dienstmanifest die Annotation cloud.google.com/l4-rbs: "enabled" enthält. Weiterleitungsregeln für Backend-Dienst-basierte externe Passthrough-Network Load Balancer unterstützen bis zu fünf eigenständige Portnummern oder einen zusammenhängenden Portbereich.

Netzwerkdienststufen Nicht konfigurierbar – interne Adressen sind immer Premium-Stufe.

Konfigurierbar für statische regionale, externe IPv4-Adressen. Statische regionale externe IPv6-Adressbereiche können nur in der Premium-Stufe erstellt werden.

Die Netzwerkdienststufen-Spezifikation der statischen externen IP-Adresse muss mit einem der Folgenden übereinstimmen:

  • Die in der Annotation cloud.google.com/network-tier des LoadBalancer-Dienstmanifests angegebene Stufe, wenn diese Annotation im Manifest vorhanden ist, oder
  • Die Standardstufe des Projekts, wenn die Annotation cloud.google.com/network-tier im LoadBalancer-Dienstmanifest nicht vorhanden ist.

Die Standardstufe des Projekts ist Premium, sofern Sie sie nicht anders konfiguriert haben.

Reservierung von IP-Adressen

In GKE werden die mit spec.loadBalancerIP konfigurierten statischen IP-Adressen nicht reserviert. Das bedeutet, dass die IP-Adresse, die Sie Ihrem Dienst zuweisen, freigegeben werden kann, wenn der Dienst gelöscht wird.

Wenn die IP-Adresse reserviert bleiben soll, müssen Sie in Ihrem Projekt manuell eine Adressressource erstellen. Verwenden Sie beim Benennen dieser Ressource nicht den Namen des internen Load Balancers, Präfixe wie k8s- oder die UUID des Dienstes.

Wenn Sie die Adresse nicht selbst reservieren, können die Projektprotokolle Einträge zu Adressenressourcen enthalten, die erstellt und kurz darauf entfernt wurden. Das ist Teil der normalen Bereitstellung von Diensten und sollte erwartet werden.

LoadBalancer-Subnetz

Sie können einen internen LoadBalancer-Dienst so konfigurieren, dass eine sitzungsspezifische oder statische IPv4-Adresse, ein IPv6-Adressbereich oder beides in einem benutzerdefinierten Subnetz verwendet wird, das sich in derselben Region und demselben VPC-Netzwerk wie der Cluster befindet. Verwenden Sie ein benutzerdefiniertes Subnetz für einen internen LoadBalancer-Dienst, um:

  • Gruppieren Sie interne Passthrough-Network Load Balancer, die von internen LoadBalancer-Diensten aus zwei oder mehr GKE-Clustern im selben VPC-Netzwerk und in derselben Region erstellt wurden.
  • Erstellen Sie interne LoadBalancer-Dienste, deren interne Passthrough-Network Load Balancer IPv4-Adressen haben, die von den IPv4-Adressen des Knotens getrennt sind.
  • Erstellen Sie in einem Dual-Stack-Cluster interne LoadBalancer-Dienste, deren interne Passthrough-Network-Load-Balancer IPv6-Adressbereiche haben, die vom Knoten und den Pod-IPv6-Adressen des Clusters getrennt sind. Ein benutzerdefiniertes LoadBalancer-Subnetz ist obligatorisch, um interne LoadBalancer-Dienste zu unterstützen, wenn das Subnetz des Clusters einen externen IPv6-Adressbereich hat.

Sie können einen externen LoadBalancer-Dienst so konfigurieren, dass er einen sitzungsspezifischen oder statischen IPv6-Adressbereich in einem benutzerdefinierten Subnetz verwendet, das sich in derselben Region und demselben VPC-Netzwerk wie der Cluster befindet. Verwenden Sie ein benutzerdefiniertes Subnetz, um externe LoadBalancer-Dienste zu erstellen, deren externe Passthrough-Network-Load-Balancer IPv6-Adressbereiche haben, die von den Knoten- und Pod-IPv6-Adressen des Clusters getrennt sind. Ein benutzerdefiniertes LoadBalancer-Subnetz ist obligatorisch, um externe LoadBalancer-Dienste in einem Dual-Stack-Cluster zu unterstützen, da das Subnetz des Clusters einen internen IPv6-Adressbereich hat.

Benutzerdefinierte Subnetzannotationen

Verwenden Sie eine der folgenden Annotationen, um einen LoadBalancer-Dienst anzuweisen, eine sitzungsspezifische oder statische IP-Adresse in einem benutzerdefinierten Subnetz zu verwenden. Wenn ein LoadBalancer-Dienstmanifest beide Annotationen enthält, hat die Annotation networking.gke.io/load-balancer-subnet Vorrang, sofern ihre Annotationsanforderungen erfüllt sind.

Anmerkung und Wert Anforderungen und Funktionen
networking.gke.io/internal-load-balancer-subnet:
SUBNET_RESOURCE_NAME

Sie können die Annotation nur verwenden, um ein benutzerdefiniertes Subnetz für einen reinen IPv4-LoadBalancer-Dienst anzugeben. Die Annotation funktioniert mit allen unterstützten GKE-Versionen.

networking.gke.io/load-balancer-subnet:
SUBNET_RESOURCE_NAME

Sie können ein benutzerdefiniertes Subnetz für einen reinen IPv4-, reinen IPv6- oder Dual-Stack-Dienst für den internen LoadBalancer angeben. Sie können ein benutzerdefiniertes Subnetz für einen externen IPv6- oder Dual-Stack-LoadBalancer-Dienst angeben. Für die Annotation sind GKE 1.29 oder höher und die folgenden zusätzlichen Anforderungen erforderlich:

  • Um mit dieser Annotation ein benutzerdefiniertes Subnetz für einen internen LoadBalancer-Dienst anzugeben, müssen Sie den internen LoadBalancer-Dienst in einem Cluster erstellen, nachdem Sie die GKE-Teileinstellung aktiviert haben.
  • Wenn Sie mit dieser Annotation ein benutzerdefiniertes Subnetz für einen externen LoadBalancer-Dienst angeben möchten, müssen Sie beim Erstellen des externen LoadBalancer-Dienstes die Annotation cloud.google.com/l4-rbs: "enabled" in das Dienstmanifest aufnehmen.

Subnetz und IPv4-Adresse für einen internen LoadBalancer-Dienst

In der folgenden Tabelle werden gültige Subnetzspezifikationen und IPv4-Adresskombinationen für einen internen reinen IPv4- oder Dual-Stack-LoadBalancer-Dienst beschrieben.

Statische IPv4-Adresse Sitzungsspezifische IPv4-Adresse
Benutzerdefiniertes Subnetz
Benutzerdefiniertes Subnetz und statische IPv4-Adresse: Die statische interne IPv4-Adresse muss im primären IPv4-Adressbereich des benutzerdefinierten Subnetzes erstellt worden sein. Benutzerdefiniertes Subnetz und sitzungsspezifische IPv4-Adresse: GKE verwendet eine nicht zugewiesene interne IPv4-Adresse im primären IPv4-Adressbereich des benutzerdefinierten Subnetzes.
Clustersubnetz Clustersubnetz und statische IPv4-Adresse: Die statische interne IPv4-Adresse muss im primären IPv4-Adressbereich des Clustersubnetzes erstellt worden sein. Clustersubnetz und sitzungsspezifische IPv4-Adresse: GKE verwendet eine nicht zugewiesene interne IPv4-Adresse im primären IPv4-Adressbereich des Clustersubnetzes.

Subnetz und IPv6-Adressbereich für einen internen LoadBalancer-Dienst

In der folgenden Tabelle werden gültige Kombinationen von Subnetzspezifikationen und IPv6-Adressbereichen für einen internen IPv6- oder Dual-Stack-LoadBalancer-Dienst beschrieben. Obwohl die IPv6-Weiterleitungsregel des internen Passthrough-Netzwerk-Load-Balancers den internen IPv6-Adressbereich /96 verwendet, konfiguriert GKE nur Knoten so, dass Pakete akzeptiert werden, deren Ziele mit der ersten IPv6-Adresse (/128) des /96-Bereichs der Weiterleitungsregel übereinstimmen.

Statischer IPv6-Adressbereich Sitzungsspezifischer IPv6-Adressbereich
Benutzerdefiniertes Dual-Stack-Subnetz
  • Muss sich im selben VPC-Netzwerk und in derselben Region wie der Cluster befinden.
  • Muss einen internen IPv6-Adressbereich haben (Zugriffstyp INTERNAL).
  • Muss mit der Annotation networking.gke.io/load-balancer-subnet angegeben werden.
Benutzerdefiniertes Subnetz und statischer IPv6-Adressbereich: Der statische interne IPv6-Adressbereich /96 muss im internen IPv6-Adressbereich /64 des benutzerdefinierten Subnetzes erstellt worden sein. Benutzerdefiniertes Subnetz und sitzungsspezifischer IPv6-Adressbereich: GKE verwendet einen nicht zugewiesenen internen /96-IPv6-Adressbereich aus dem internen /64-IPv6-Adressbereich des benutzerdefinierten Subnetzes.
Dual-Stack-Cluster-Subnetz
  • Muss einen internen IPv6-Adressbereich haben (Zugriffstyp INTERNAL).
Clustersubnetz und statischer IPv6-Adressbereich: Der statische interne IPv6-Adressbereich /96 muss im internen IPv6-Adressbereich /64 des Clustersubnetzes erstellt worden sein. Clustersubnetz und sitzungsspezifischer IPv6-Adressbereich: GKE verwendet einen nicht zugewiesenen internen /96-IPv6-Adressbereich aus dem internen /64-IPv6-Adressbereich des Clustersubnetzes.

Subnetz und IPv4-Adresse für einen externen LoadBalancer-Dienst

Bei externen reinen IPv4- und Dual-Stack-LoadBalancer-Diensten kommt die externe IPv4-Adresse – ob eine statische externe IPv4-Adresse oder eine sitzungsspezifische externe IPv4-Adresse – nicht aus einem Subnetz.

Subnetz- und IPv6-Adressbereich für einen externen LoadBalancer-Dienst

In der folgenden Tabelle werden gültige Kombinationen von Subnetzspezifikationen und IPv6-Adressbereichen für einen externen IPv6- oder Dual-Stack-LoadBalancer-Dienst beschrieben. Obwohl die IPv6-Weiterleitungsregel des externen Passthrough-Netzwerk-Load-Balancers den externen IPv6-Adressbereich /96 verwendet, konfiguriert GKE nur Knoten so, dass Pakete akzeptiert werden, deren Ziele mit der ersten IPv6-Adresse (/128) des /96-Bereichs der Weiterleitungsregel übereinstimmen.

Statischer IPv6-Adressbereich Sitzungsspezifischer IPv6-Adressbereich
Benutzerdefiniertes Dual-Stack-Subnetz
  • Muss sich im selben VPC-Netzwerk und in derselben Region wie der Cluster befinden.
  • Muss einen externen IPv6-Adressbereich haben (Zugriffstyp EXTERNAL).
  • Muss mit der Annotation networking.gke.io/load-balancer-subnet angegeben werden.
Benutzerdefiniertes Subnetz und statischer IPv6-Adressbereich: Der statische externe IPv6-Adressbereich /96 muss im externen IPv6-Adressbereich /64 des benutzerdefinierten Subnetzes erstellt worden sein. Statische externe IPv6-Adressbereiche können nur in der Premium-Stufe erstellt werden. Benutzerdefiniertes Subnetz und sitzungsspezifischer IPv6-Adressbereich: GKE verwendet einen nicht zugewiesenen externen /96-IPv6-Adressbereich aus dem externen /64-IPv6-Adressbereich des benutzerdefinierten Subnetzes.
Dual-Stack-Cluster-Subnetz
  • Muss einen externen IPv6-Adressbereich haben (Zugriffstyp EXTERNAL).
Clustersubnetz und statischer IPv6-Adressbereich: Der statische externe IPv6-Adressbereich /96 muss im externen IPv6-Adressbereich /64 des Clustersubnetzes erstellt worden sein. Statische externe IPv6-Adressbereiche können nur in der Premium-Stufe erstellt werden. Clustersubnetz und sitzungsspezifischer IPv6-Adressbereich: GKE verwendet einen nicht zugewiesenen externen /96-IPv6-Adressbereich aus dem externen /64-IPv6-Adressbereich des Clustersubnetzes.

Globaler Zugriff

Wenn die Annotation networking.gke.io/internal-load-balancer-allow-global-access für einen internen LoadBalancer-Dienst false ist oder nicht angegeben ist, erstellt GKE einen internen Passthrough-Network-Load-Balancer, dessen Weiterleitungsregel den globalen Zugriff deaktiviert hat. Wenn der globale Zugriff deaktiviert ist, müssen sich Clients, die auf den Load-Balancer zugreifen müssen, in derselben Region und demselben VPC-Netzwerk oder in einem Netzwerk befinden, das mit dem VPC-Netzwerk des Clusters verbunden ist.

Wenn die Annotation networking.gke.io/internal-load-balancer-allow-global-access für einen internen LoadBalancer-Dienst true lautet, aktiviert GKE die globale Zugriffsoption für die Weiterleitungsregel des internen Passthrough-Network-Load-Balancers. Clients, die sich in einer beliebigen Region des VPC-Netzwerks oder einem Netzwerk befinden, das mit dem VPC-Netzwerk des Clusters verbunden ist, können auf den Load-Balancer zugreifen.

Weitere Informationen zum globalen Zugriff gelten für Clients in einem verbundenen Netzwerk:

Alle Portweiterleitungsregeln

Weiterleitungsregeln für interne Passthrough-Network-Load-Balancer unterstützen fünf eindeutige Portnummern oder alle Ports.

In GKE kann ein interner LoadBalancer-Dienst nur bis zu 100 Ports im spec.ports[].port des Dienstes unterstützen. Wenn für einen internen LoadBalancer-Dienst bis zu fünf Ports definiert sind, enthält die Weiterleitungsregel diese Ports. Wenn für den Dienst jedoch mehr als fünf Ports angegeben werden, wird die Weiterleitungsregel automatisch so konfiguriert, dass sie mit allen Ports übereinstimmt. Wenn Sie eine Weiterleitungsregel für die Verwendung aller Ports konfigurieren, erstellt GKE nur Firewallregeln für zulässigen eingehenden Traffic für die spezifischen Ports, die in spec.ports[].port für den Service konfiguriert sind.

Weitere Informationen zu Weiterleitungsregeln des internen Passthrough-Network-Load-Balancers und zu gültigen Portspezifikationen finden Sie unter Weiterleitungsregeln und Portspezifikationen.

IPv4/IPv6-Dual-Stack-Load Balancer-Dienst

Sie können einen internen oder externen LoadBalancer-Dienst erstellen, der Single-Stack (nur IPv4 oder nur IPv6) oder Dual-Stack sein kann. Bei Single-Stack-LoadBalancer-Diensten wird eine einzelne Weiterleitungsregel mit einer IPv4- oder einer IPv6-Adresse erstellt. Für Dual-Stack-LoadBalancer-Dienste werden zwei Weiterleitungsregeln erstellt: eine mit einer IPv4-Adresse und eine mit einer IPv6-Adresse. Wenn Sie einen IPv4/IPv6-Dual-Stack-LoadBalancer-Dienst erstellen möchten, stellen Sie ihn in einem IPv4/IPv6-Dual-Stack-Cluster bereit und führen Sie je nach verwendeter Load-Balancer-Art einen der folgenden Schritte aus:

Für jeden Dienst können Sie ipFamilyPolicy- und ipFamilies-Spezifikationen definieren. Weitere Informationen finden Sie unter IPv4/IPv6-Dual-Stack.

Einschränkungen von Dual-Stack-LoadBalancer-Diensten

  • LoadBalancer-Dienste mit IPv6-Adressen werden nur in Clustern mit dem Stacktyp ipv4-ipv6 unterstützt. Weitere Informationen finden Sie unter Dual-Stack-IP-Adresse für einen VPC-nativen Cluster verwenden.
  • LoadBalancer-Dienste, die mit einer Single-Stack-Adresse erstellt wurden, können nicht zu Dual-Stack-Diensten umgestellt werden.

  • LoadBalancer-Dienste, die mit Dual-Stack-Adressen erstellt wurden, können unter folgenden Bedingungen in einen einzelnen Stack geändert werden:

    • Ein Dienst mit ipFamilies ["IPv4","IPv6"] kann in einen Dienst mit ipFamilies IPv4, aber nicht in IPv6 geändert werden.
    • Ein Dienst mit ipFamilies ["IPv6","IPv4"] kann in einen Dienst mit ipFamilies IPv6, aber nicht in IPv4 geändert werden.