Parametri del servizio LoadBalancer


Questa pagina descrive i parametri per i manifest dei servizi che controllano il comportamento e la configurazione del servizio LoadBalancer. Prima di leggere questa pagina, assicurati di conoscere i concetti del servizio LoadBalancer di Google Kubernetes Engine (GKE).

Parametri del servizio

GKE supporta i seguenti parametri per i servizi LoadBalancer.

Parametro Campo Servizio e descrizione Interno Esterno Supporto delle versioni
Bilanciatore del carico di rete passthrough interno networking.gke.io/load-balancer-type: "Internal"

Indica a GKE di creare un bilanciatore del carico di rete passthrough interno.

Il bilanciatore del carico utilizza i backend NEG GCE_VM_IP se il manifest del servizio viene applicato a un cluster con il sottoinsieme GKE abilitato. Il bilanciatore del carico utilizza i backend dei gruppi di istanze se il manifest del servizio viene applicato a un cluster in cui non è abilitato il sottoinsieme GKE.

Per ulteriori informazioni, vedi Raggruppamento dei nodi .

Tutte le versioni supportate.
Bilanciatore del carico di rete passthrough esterno basato sui servizi di backend cloud.google.com/l4-rbs: "enabled"

Indica a GKE di creare un bilanciatore del carico di rete passthrough esterno basato su un servizio di backend.

Il bilanciatore del carico utilizza i backend NEG GCE_VM_IP se il manifest del servizio viene applicato a un cluster che esegue GKE versione 1.32.2-gke.1652000 o successive. Il bilanciatore del carico utilizza i backend dei gruppi di istanze se il manifest del servizio viene applicato a un cluster che esegue una versione di GKE supportata precedente.

Per ulteriori informazioni, vedi Raggruppamento dei nodi .

GKE 1.25.5
Bilanciamento del carico ponderato networking.gke.io/weighted-load-balancing: "pods-per-node"

Consente ai nodi con più pod di pubblicazione di ricevere una percentuale maggiore di nuove connessioni rispetto ai nodi con meno pod di pubblicazione.

GKE 1.31.0+
Policy di traffico interno spec.internalTrafficPolicy

Se impostato su Local, GKE instrada solo i pacchetti dai pod client su un nodo ai pod di servizio sullo stesso nodo. Se impostato su Cluster, GKE instrada i pacchetti dai pod client su un nodo ai pod di servizio su qualsiasi nodo. Per maggiori dettagli, consulta le norme sul traffico interno del servizio.

Questo parametro non è supportato nei cluster che eseguono GKE Dataplane V2.

GKE 1.22+
Policy del traffico esterno spec.externalTrafficPolicy

Controlla quali VM nodo superano i controlli di integrità del bilanciatore del carico e come i pacchetti vengono instradati ai pod pronti e in servizio nel cluster. Controlla anche il modo in cui i nodi vengono raggruppati in NEG GCE_VM_IP quando è abilitato il sottoinsieme GKE.

Per i dettagli, vedi Concetti del servizio LoadBalancer.

GKE 1.14+ (1.23.4-gke.400+ per il pool di nodi Windows).
Porta del controllo di integrità spec.healthCheckNodePort

Esegue il deployment di un controllo di integrità del bilanciatore del carico per i servizi LoadBalancer. Questo parametro è valido solo se spec.externalTrafficPolicy è impostato su Local.

Tutte le versioni supportate.
Regole firewall e lista consentita di indirizzi IP di origine spec.loadBalancerSourceRanges

Configura regole firewall facoltative in GKE e nella rete VPC per consentire solo determinati intervalli di origine. kube-proxy configura anche le regole iptables in modo che corrispondano agli intervalli di origine specificati.

Tutte le versioni supportate.
Indirizzi IP statici
  • spec.loadBalancerIP (solo IPv4)
  • networking.gke.io/load-balancer-ip-addresses

Specifica un indirizzo IPv4 statico, un intervallo di indirizzi IPv6 statici o entrambi, assegnati alle regole di forwarding del bilanciatore del carico. Per importanti requisiti di configurazione e dettagli di implementazione, consulta Considerazioni per la condivisione di un indirizzo IP comune.

  • spec.loadBalancerIP: tutte le versioni supportate.
  • networking.gke.io/load-balancer-ip-addresses: GKE 1.29 e versioni successive. Consulta Parametri dell'indirizzo IP statico per ulteriori requisiti di configurazione o annotazione del cluster.
Network Service Tiers cloud.google.com/network-tier

Specifica quali livelli di servizio di rete GKE utilizza per la regola di forwarding esterna e l'indirizzo IP. I valori validi per l'annotazione sono Standard e Premium (valore predefinito).

GKE 1.19 e versioni successive.
Subnet personalizzata
  • networking.gke.io/internal-load-balancer-subnet
  • networking.gke.io/load-balancer-subnet

(si applica solo a IPv6)
  • networking.gke.io/internal-load-balancer-subnet: tutte le versioni supportate
  • networking.gke.io/load-balancer-subnet: GKE 1.29 e versioni successive. Per ulteriori requisiti, consulta Annotazioni delle subnet personalizzate.
Accesso globale networking.gke.io/internal-load-balancer-allow-global-access: "true"

Consente l'accesso all'indirizzo IP della regola di forwarding da parte di client in qualsiasi regione della rete VPC o di una rete collegata.

Anteprima in GKE 1.16 e versioni successive. Disponibilità generale in GKE 1.17.9-gke.600 e versioni successive.
Tutte le porte

GKE configura automaticamente la regola di forwarding in modo da utilizzare tutte le porte se in spec.ports[].port vengono specificate più di cinque porte uniche (fino a 100).

GKE 1.18.19-gke.1400 o versioni successive
ipFamilyPolicy

spec.ipFamilyPolicy

Definisce il modo in cui GKE alloca gli indirizzi IP a un servizio. Puoi definire spec.ipFamilyPolicy come SingleStack, PreferDualStack o RequireDualStack.

Per saperne di più, consulta Servizi dual-stack IPv4/IPv6.

I cluster GKE nella versione 1.29 o successive supportano la rete dual-stack per i servizi LoadBalancer.
ipFamilies (facoltativo)

spec.ipFamilies

Definisce la famiglia di indirizzi IP per allocare servizi single-stack o dual-stack. Utilizza uno qualsiasi dei seguenti valori:

  • IPv4 solo per il servizio IPv4 con stack singolo.
  • IPv6 solo per il servizio IPv6.
  • IPv4,IPv6 per il servizio a doppio stack in cui l'indirizzo IP principale del servizio è IPv4.
  • IPv6,IPv4 per il servizio a doppio stack in cui l'indirizzo IP principale del servizio è IPv6.
I cluster GKE nella versione 1.29 o successive supportano la rete dual-stack per i servizi LoadBalancer.

Porta del controllo di integrità

Come descritto in Controlli di integrità del bilanciatore del carico, GKE esegue sempre il deployment di un controllo di integrità del bilanciatore del carico quando crea un bilanciatore del carico di rete passthrough esterno o un bilanciatore del carico di rete passthrough interno.

La possibilità di configurare o meno il parametro healthCheckNodePort dipende dalla seguente configurazione externalTrafficPolicy:

externalTrafficPolicy Porta del controllo di integrità
Cluster

Non puoi utilizzare spec.healthCheckNodePort.

Local

Puoi selezionare una porta personalizzata utilizzando spec.healthCheckNodePort. Se non specificato, il control plane Kubernetes assegna una porta di controllo di integrità dall'intervallo di porte del nodo.

Regole firewall e lista consentita di indirizzi IP di origine

A meno che tu non abbia configurato un cluster per saltare la creazione di regole firewall VPC per i servizi LoadBalancer, GKE crea una regola firewall VPC di autorizzazione in entrata per ogni servizio.

Ogni regola firewall creata automaticamente ha le seguenti caratteristiche:

  • La direzione della regola firewall è in entrata e la sua azione è consentita. Le regole firewall di negazione implicita in entrata in Google Cloud indicano che GKE utilizza un modello di lista consentita quando crea regole firewall in entrata.
  • GKE imposta il protocollo e la porta di destinazione della regola firewall su quelli specificati nell'elenco spec.ports[] del servizio.
  • GKE configura le regole firewall per i servizi LoadBalancer impostando in modo esplicito il parametro di destinazione sull'indirizzo IP virtuale del bilanciatore del carico (la regola di forwarding del bilanciatore del carico).
  • GKE imposta il parametro target della regola firewall in modo da includere tutti i nodi del cluster.
  • Se il servizio include spec.loadBalancerSourceRanges[], GKE imposta il parametro source della regola firewall sugli indirizzi IP in questo elenco. Inoltre, GKE configura route e regole all'interno del sistema operativo del nodo per limitare gli indirizzi IP di origine per il traffico bilanciato del carico, utilizzando kube-proxy e iptables (Legacy Dataplane) o cilium-agent e regole eBPF (GKE Dataplane V2). Se il Servizio non include loadBalancerSourceRanges[], GKE imposta il parametro di origine della regola firewall su tutti gli indirizzi IP (0.0.0.0/0).

Indirizzi IP statici

Puoi creare un indirizzo IP statico e configurare GKE in modo che assegni questo indirizzo statico alla regola di forwarding del bilanciatore del carico. L'utilizzo di un indirizzo IP statico garantisce che l'indirizzo IP del bilanciatore del carico rimanga invariato anche se apporti modifiche al servizio LoadBalancer. Senza un indirizzo IP statico, GKE potrebbe assegnare un indirizzo IP diverso alla regola di forwarding del bilanciatore del carico quando aggiorni un servizio LoadBalancer. L'indirizzo IP della regola di forwarding non corrisponde all'indirizzo spec.clusterIP del servizio. L'indirizzo ClusterIP di un servizio non cambia mai quando aggiorni un servizio LoadBalancer.

Parametri dell'indirizzo IP statico

Per indicare a un servizio LoadBalancer di utilizzare un indirizzo IP statico, utilizza il parametro spec.loadBalancerIP o l'annotazione networking.gke.io/load-balancer-ip-addresses. In GKE 1.29 e versioni successive, l'annotazione ha la precedenza su spec.loadBalancerIP se il manifest del servizio contiene sia il parametro sia l'annotazione.

Parametro o annotazione e valore Requisiti e funzionalità
spec.loadBalancerIP:
IPv4_ADDRESS

Puoi specificare un indirizzo IPv4 interno statico per un servizio Internal Load Balancer solo IPv4. Puoi specificare un indirizzo IPv4 esterno statico per un servizio External LoadBalancer solo IPv4. Il parametro funziona con tutte le versioni di GKE supportate.

networking.gke.io/load-balancer-ip-addresses:
IP_ADDRESS_RESOURCE_NAME
  • Per i servizi LoadBalancer a stack singolo, imposta il valore dell'annotazione sul nome della risorsa indirizzo IPv4 o IPv6, non sull'indirizzo IP stesso.
  • Per i servizi LoadBalancer a doppio stack, imposta il valore dell'annotazione sul nome della risorsa dell'indirizzo IPv4 statico e sul nome della risorsa dell'intervallo di indirizzi IPv6 statico separati da una virgola.

Puoi specificare un indirizzo IPv4 statico, un intervallo di indirizzi IPv6 statici o entrambi per i servizi di bilanciamento del carico interno ed esterno solo IPv4, solo IPv6 e dual-stack. L'annotazione richiede GKE 1.29 o versioni successive e i seguenti requisiti aggiuntivi:

  • Per utilizzare questa annotazione con un servizio LoadBalancer interno, devi creare il servizio LoadBalancer interno in un cluster dopo aver abilitato il sottoinsieme GKE.
  • Per utilizzare questa annotazione con un servizio LoadBalancer esterno, devi includere l'annotazione cloud.google.com/l4-rbs: "enabled" nel manifest del servizio quando crei il servizio LoadBalancer esterno.

Considerazioni per la condivisione di un indirizzo IP comune

Due o più servizi LoadBalancer possono fare riferimento allo stesso indirizzo IP statico se la regola di forwarding per ogni bilanciatore del carico utilizza una combinazione univoca di indirizzo IP, protocollo, specifica della porta e specifica dei Network Service Tiers, come indicato nella tabella in questa sezione. Inoltre:

  • Gli indirizzi IPv6 statici sono in realtà intervalli di indirizzi IPv6 /96, ma GKE configura i nodi solo per accettare i pacchetti sul primo indirizzo IPv6 (/128) nell'intervallo /96.

  • Affinché due o più servizi Internal Load Balancer utilizzino lo stesso indirizzo IPv4 interno o lo stesso intervallo di indirizzi IPv6 interni, l'indirizzo IP statico deve essere creato con lo scopo SHARED_LOADBALANCER_VIP.

Servizio LoadBalancer interno Servizio LoadBalancer esterno
Specifica della porta

Le regole di forwarding per i bilanciatori del carico di rete passthrough interni supportano fino a cinque numeri di porta individuali oppure possono essere configurate per utilizzare tutte le porte.

Quando un servizio LoadBalancer interno ha più di cinque spec.ports[] specificati, GKE configura la regola di forwarding per il bilanciatore del carico di rete passthrough interno in modo che utilizzi tutte le porte.

Le regole di forwarding con lo stesso indirizzo IP e protocollo non possono avere porte sovrapposte. Ciò significa che non puoi creare più servizi Internal Load Balancer che condividono lo stesso indirizzo IP, protocollo e porta o porte. Ad esempio:

  • Se crei un servizio Internal LoadBalancer utilizzando la porta TCP 80, non puoi creare un altro servizio utilizzando le porte TCP 80, 81 e 90 perché la porta 80 si sovrappone.
  • Se un servizio Internal LoadBalancer utilizza le porte TCP 80, 8080 e 90, non puoi creare un altro servizio che utilizzi TCP su tutte le porte, in quanto ciò comporterebbe anche la sovrapposizione delle porte

Per saperne di più, consulta: Regole di forwarding del bilanciatore del carico di rete passthrough interno che utilizzano un indirizzo IP comune.

GKE crea un bilanciatore del carico di rete passthrough esterno basato su un pool di destinazione se il manifest del servizio LoadBalancer non include l'annotazione cloud.google.com/l4-rbs: "enabled".

Le regole di forwarding per i bilanciatori del carico di rete passthrough esterni basati su pool di destinazione devono utilizzare intervalli di porte contigui. L'intervallo di porte contigue include tutte le porte necessarie al servizio, ma potrebbe includere anche porte aggiuntive non utilizzate dal servizio. Ad esempio, un servizio LoadBalancer esterno basato su un bilanciatore del carico di rete passthrough esterno basato su un pool di destinazione che specifica le porte 80 e 443 nel relativo manifest del servizio utilizza una regola di forwarding del bilanciatore del carico con un intervallo di porte 80-443. Questo intervallo di porte impedisce ad altri servizi External LoadBalancer di utilizzare le porte 80, 443 e qualsiasi numero compreso tra 80 e 443.

GKE crea un bilanciatore del carico di rete passthrough esterno basato sul servizio di backend se il manifest del servizio LoadBalancer include l'annotazione cloud.google.com/l4-rbs: "enabled". Le regole di forwarding per i bilanciatori del carico di rete passthrough esterni basati su servizio di backend supportano fino a cinque numeri di porta discreti o un intervallo di porte contiguo.

Network Service Tiers Non configurabile: gli indirizzi interni sono sempre di livello Premium.

Configurabile per indirizzi IPv4 esterni statici a livello di regione. Gli intervalli di indirizzi IPv6 esterni regionali statici possono essere creati solo nel livello Premium.

La specifica dei livelli di servizio di rete dell'indirizzo IP esterno statico deve corrispondere a:

  • Il livello specificato nell'annotazione cloud.google.com/network-tier del manifest del servizio LoadBalancer, se questa annotazione è presente nel manifest oppure
  • Il livello predefinito del progetto, se l'annotazione cloud.google.com/network-tier non è presente nel manifest del servizio LoadBalancer.

Il livello predefinito del progetto è Premium, a meno che tu non l'abbia configurato in modo diverso.

Prenotazione dell'indirizzo IP

GKE non riserva gli indirizzi IP statici configurati utilizzando spec.loadBalancerIP. Ciò significa che l'indirizzo IP assegnato al servizio può essere rilasciato quando il servizio viene eliminato.

Per mantenere riservato l'indirizzo IP, devi creare manualmente una risorsa di indirizzo nel tuo progetto. Quando assegni un nome a questa risorsa, non utilizzare il nome del bilanciatore del carico interno, prefissi come k8s- o l'UUID del servizio.

Se non riservi l'indirizzo, i log del progetto possono contenere voci relative alle risorse di indirizzi create e rimosse poco dopo. Si tratta di una parte normale del provisioning del servizio e deve essere prevista.

Subnet del bilanciatore del carico

Puoi configurare un servizio Internal LoadBalancer per utilizzare un indirizzo IPv4, un intervallo di indirizzi IPv6 o entrambi temporanei o statici in una subnet personalizzata che si trova nella stessa regione e nella stessa rete VPC del cluster. Utilizza una subnet personalizzata per un servizio Internal LoadBalancer per:

  • Raggruppa i bilanciatori del carico di rete passthrough interni creati dai servizi Internal LoadBalancer di due o più cluster GKE nella stessa rete VPC e regione.
  • Crea servizi LoadBalancer interni i cui bilanciatori del carico di rete passthrough interni hanno indirizzi IPv4 separati dagli indirizzi IPv4 dei nodi del cluster.
  • In un cluster dual-stack, crea servizi Internal LoadBalancer i cui bilanciatori del carico di rete pass-through interni hanno intervalli di indirizzi IPv6 separati dagli indirizzi IPv6 dei nodi e dei pod del cluster. Una subnet LoadBalancer personalizzata è obbligatoria per supportare i servizi Internal LoadBalancer se la subnet del cluster ha un intervallo di indirizzi IPv6 esterno.

Puoi configurare un servizio LoadBalancer esterno per utilizzare un intervallo di indirizzi IPv6 effimero o statico in una subnet personalizzata che si trova nella stessa regione e nella stessa rete VPC del cluster. Utilizza una subnet personalizzata per creare servizi LoadBalancer esterni i cui bilanciatori del carico di rete passthrough esterni hanno intervalli di indirizzi IPv6 separati dagli indirizzi IPv6 dei nodi e dei pod del cluster. Una subnet LoadBalancer personalizzata è obbligatoria per supportare i servizi LoadBalancer esterni in un cluster dual-stack perché la subnet del cluster ha un intervallo di indirizzi IPv6 interni.

Annotazioni delle subnet personalizzate

Utilizza una delle seguenti annotazioni per indicare a un servizio LoadBalancer di utilizzare un indirizzo IP temporaneo o statico in una subnet personalizzata. Se un manifest del servizio LoadBalancer include entrambe le annotazioni, l'annotazione networking.gke.io/load-balancer-subnet ha la precedenza, a condizione che i relativi requisiti siano soddisfatti.

Annotazione e valore Requisiti e funzionalità
networking.gke.io/internal-load-balancer-subnet:
SUBNET_RESOURCE_NAME

Puoi utilizzare l'annotazione solo per specificare una subnet personalizzata per un servizio di bilanciamento del carico interno solo IPv4. L'annotazione funziona con tutte le versioni di GKE supportate.

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

Puoi specificare una subnet personalizzata per un servizio Internal Load Balancer solo IPv4, solo IPv6 o dual-stack. Puoi specificare una subnet personalizzata per un servizio di bilanciamento del carico esterno solo IPv6 o dual-stack. L'annotazione richiede GKE 1.29 o versioni successive e i seguenti requisiti aggiuntivi:

  • Per utilizzare questa annotazione per specificare una subnet personalizzata per un servizio LoadBalancer interno, devi creare il servizio LoadBalancer interno in un cluster dopo aver abilitato il sottoinsieme GKE.
  • Per utilizzare questa annotazione per specificare una subnet personalizzata per un servizio LoadBalancer esterno, devi includere l'annotazione cloud.google.com/l4-rbs: "enabled" nel manifest del servizio quando crei il servizio LoadBalancer esterno.

Subnet e indirizzo IPv4 per un servizio Internal LoadBalancer

La tabella seguente descrive le combinazioni valide di specifica della subnet e indirizzo IPv4 per un servizio Internal Load Balancer solo IPv4 o dual-stack.

Indirizzo IPv4 statico Indirizzo IPv4 temporaneo
Subnet personalizzata
Subnet personalizzata e indirizzo IPv4 statico: l'indirizzo IPv4 interno statico deve essere stato creato nell'intervallo di indirizzi IPv4 primario della subnet personalizzata. Subnet personalizzata e indirizzo IPv4 temporaneo: GKE utilizza un indirizzo IPv4 interno non allocato nell'intervallo di indirizzi IPv4 principale della subnet personalizzata.
Subnet cluster Subnet del cluster e indirizzo IPv4 statico: l'indirizzo IPv4 interno statico deve essere stato creato nell'intervallo di indirizzi IPv4 primario della subnet del cluster. Subnet del cluster e indirizzo IPv4 temporaneo: GKE utilizza un indirizzo IPv4 interno non allocato nell'intervallo di indirizzi IPv4 principale della subnet del cluster.

Intervallo di subnet e indirizzi IPv6 per un servizio Internal Load Balancer

La tabella seguente descrive le combinazioni valide di specifica della subnet e intervallo di indirizzi IPv6 per un servizio Internal Load Balancer solo IPv6 o a doppio stack. Anche se la regola di forwarding IPv6 del bilanciatore del carico di rete passthrough interno utilizza un intervallo di indirizzi IPv6 /96 interno, GKE configura i nodi solo per accettare i pacchetti le cui destinazioni corrispondono al primo indirizzo IPv6 (/128) dell'intervallo /96 della regola di forwarding.

Intervallo di indirizzi IPv6 statici Intervallo di indirizzi IPv6 effimeri
Subnet a doppio stack personalizzata
  • Deve trovarsi nella stessa rete VPC e nella stessa regione del cluster.
  • Deve avere un intervallo di indirizzi IPv6 interni (tipo di accesso INTERNAL).
  • Deve essere specificato utilizzando l'annotazione networking.gke.io/load-balancer-subnet.
Subnet personalizzata e intervallo di indirizzi IPv6 statici: l'intervallo di indirizzi IPv6 interni statici /96 deve essere stato creato nell'intervallo di indirizzi IPv6 interni /64 della subnet personalizzata. Intervallo di indirizzi IPv6 temporanei e subnet personalizzata: GKE utilizza un intervallo di indirizzi IPv6 interni /96 non allocato dall'intervallo di indirizzi IPv6 interni /64 della subnet personalizzata.
Subnet a doppio stack del cluster
  • Deve avere un intervallo di indirizzi IPv6 interni (tipo di accesso INTERNAL).
Intervallo di indirizzi IPv6 statici e subnet del cluster: l'intervallo di indirizzi IPv6 interni statici /96 deve essere stato creato nell'intervallo di indirizzi IPv6 interni /64 della subnet del cluster. Intervallo di indirizzi IPv6 effimeri e subnet del cluster: GKE utilizza un intervallo di indirizzi IPv6 interni /96 non allocato dall'intervallo di indirizzi IPv6 interni /64 della subnet del cluster.

Subnet e indirizzo IPv4 per un servizio bilanciatore del carico esterno

Per i servizi di bilanciamento del carico esterno solo IPv4 e dual-stack, l'indirizzo IPv4 esterno, che sia un indirizzo IPv4 esterno statico o un indirizzo IPv4 esterno temporaneo, non proviene da una subnet.

Intervallo di subnet e indirizzi IPv6 per un servizio External LoadBalancer

La tabella seguente descrive le combinazioni valide di specifica della subnet e intervallo di indirizzi IPv6 per un servizio External LoadBalancer solo IPv6 o dual-stack. Anche se la regola di forwarding IPv6 del bilanciatore del carico di rete passthrough esterno utilizza un intervallo di indirizzi IPv6 esterni /96, GKE configura i nodi solo per accettare i pacchetti le cui destinazioni corrispondono al primo indirizzo IPv6 (/128) dell'intervallo /96 della regola di forwarding.

Intervallo di indirizzi IPv6 statici Intervallo di indirizzi IPv6 effimeri
Subnet a doppio stack personalizzata
  • Deve trovarsi nella stessa rete VPC e nella stessa regione del cluster.
  • Deve avere un intervallo di indirizzi IPv6 esterni (tipo di accesso EXTERNAL).
  • Deve essere specificato utilizzando l'annotazione networking.gke.io/load-balancer-subnet.
Subnet personalizzata e intervallo di indirizzi IPv6 statici: l'intervallo di indirizzi IPv6 esterni statici /96 deve essere stato creato nell'intervallo di indirizzi IPv6 esterni statici /64 della subnet personalizzata. Gli intervalli di indirizzi IPv6 esterni statici possono essere creati solo nel livello Premium. Intervallo di indirizzi IPv6 temporanei e subnet personalizzata: GKE utilizza un intervallo di indirizzi IPv6 esterni /96 non allocati dall'intervallo di indirizzi IPv6 esterni /64 della subnet personalizzata.
Subnet a doppio stack del cluster
  • Deve avere un intervallo di indirizzi IPv6 esterni (tipo di accesso EXTERNAL).
Intervallo di indirizzi IPv6 statici e subnet del cluster: l'intervallo di indirizzi IPv6 esterni statici /96 deve essere stato creato nell'intervallo di indirizzi IPv6 esterni /64 della subnet del cluster. Gli intervalli di indirizzi IPv6 esterni statici possono essere creati solo nel livello Premium. Subnet del cluster e intervallo di indirizzi IPv6 temporanei: GKE utilizza un intervallo di indirizzi IPv6 esterni /96 non allocati dall'intervallo di indirizzi IPv6 esterni /64 della subnet del cluster.

Accesso globale

Quando l'annotazione networking.gke.io/internal-load-balancer-allow-global-access è false o non specificata per un servizio LoadBalancer interno, GKE crea un bilanciatore del carico di rete passthrough interno la cui regola di forwarding ha l'accesso globale disattivato. Quando l'accesso globale è disabilitato, i client che devono accedere al bilanciatore del carico devono trovarsi nella stessa regione e nella stessa rete VPC o in una rete connessa alla rete VPC del cluster.

Quando l'annotazione networking.gke.io/internal-load-balancer-allow-global-access è true per un servizio LoadBalancer interno, GKE attiva l'opzione di accesso globale nella regola di forwarding del bilanciatore del carico di rete passthrough interno. I client che si trovano in qualsiasi regione della rete VPC o in una rete connessa alla rete VPC del cluster possono accedere al bilanciatore del carico.

Per saperne di più su come l'accesso globale si applica ai client in una rete connessa, consulta:

Tutte le regole di port forwarding

Le regole di forwarding per i bilanciatori del carico di rete passthrough interni supportano cinque numeri di porta unici o tutte le porte.

In GKE, un servizio Internal LoadBalancer può supportare solo fino a 100 porte nel spec.ports[].port del servizio. Se un servizio Internal LoadBalancer definisce fino a cinque porte, la regola di forwarding includerà queste porte specifiche. Tuttavia, se il servizio specifica più di cinque porte, la regola di forwarding verrà configurata automaticamente in modo che corrisponda a tutte le porte. Quando configuri una regola di forwarding per utilizzare tutte le porte, GKE crea solo regole firewall di autorizzazione in entrata per le porte specifiche configurate in spec.ports[].port sul servizio.

Per saperne di più sulle regole di forwarding del bilanciatore del carico di rete passthrough interno e sulle specifiche delle porte valide, consulta Regole di forwarding e specifiche delle porte.

Servizio LoadBalancer dual-stack IPv4/IPv6

Puoi creare un servizio di bilanciamento del carico interno o esterno che può essere a stack singolo (solo IPv4 o solo IPv6) o dual-stack. I servizi LoadBalancer a stack singolo creano una singola regola di forwarding con un indirizzo IPv4 o IPv6. I servizi LoadBalancer a doppio stack creano due regole di forwarding: una con un indirizzo IPv4 e l'altra con un indirizzo IPv6. Per creare un servizio LoadBalancer dual-stack IPv4/IPv6, esegui il deployment su un cluster dual-stack IPv4/IPv6 e completa una delle seguenti operazioni a seconda del tipo di bilanciatore del carico che utilizzi:

Per ogni servizio, puoi definire le specifiche ipFamilyPolicy e ipFamilies. Per saperne di più, consulta Stack doppio IPv4/IPv6.

Limitazioni dei servizi LoadBalancer dual-stack

  • I servizi LoadBalancer con indirizzi IPv6 sono supportati solo sui cluster con tipo di stack ipv4-ipv6. Per ulteriori informazioni, scopri come utilizzare un indirizzo IP dual-stack per un cluster nativo di VPC.
  • I servizi LoadBalancer creati con un indirizzo single-stack non possono essere aggiornati a servizi dual-stack.

  • I servizi LoadBalancer creati con indirizzi dual-stack possono essere modificati in stack singolo in base alle seguenti condizioni:

    • Un servizio con ipFamilies ["IPv4","IPv6"] può essere modificato in un servizio con ipFamilies IPv4, ma non IPv6.
    • Un servizio con ipFamilies ["IPv6","IPv4"] può essere modificato in un servizio con ipFamilies IPv6, ma non IPv4.