Parametri di 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, devi acquisire familiarità con i concetti del servizio LoadBalancer di Google Kubernetes Engine (GKE).

Parametri del servizio

GKE supporta i seguenti parametri per i servizi LoadBalancer.

Parametro Campo e descrizione del servizio IP 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.

Per maggiori dettagli, consulta i concetti del servizio LoadBalancer.

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

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

Per maggiori dettagli, consulta i concetti del servizio LoadBalancer.

GKE 1.25.5 e versioni successive
Norme sul traffico interno spec.internalTrafficPolicy

Se impostato su Local, GKE instrada i pacchetti solo dai pod client su un nodo alla gestione dei pod sullo stesso nodo. Se impostato su Cluster, GKE instrada i pacchetti dai pod client su un nodo ai pod gestiti su qualsiasi nodo. Per maggiori dettagli, consulta i criteri per il traffico interno dei servizi.

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

GKE 1.22 e versioni successive
Criterio sul traffico esterno spec.externalTrafficPolicy

Controlla quali VM dei nodi superano i controlli di integrità del bilanciatore del carico e come i pacchetti vengono instradati ai pod pronti e gestiti nel cluster. Controlla anche in che modo i nodi vengono raggruppati in GCE_VM_IP NEG quando è abilitata l'impostazione di sottoinsiemi di GKE.

Per maggiori dettagli, consulta i concetti del servizio LoadBalancer.

GKE 1.14 e versioni successive (1.23.4-gke.400 e versioni successive per il pool di nodi Windows).
Porta per il 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.
Lista consentita di regole firewall e indirizzi IP di origine spec.loadBalancerSourceRanges

Configura regole firewall facoltative in GKE e nella rete VPC per consentire solo determinati intervalli di origine.

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 statico o entrambi assegnati alle regole di forwarding del bilanciatore del carico. Consulta Considerazioni sulla condivisione di un indirizzo IP comune per importanti requisiti di configurazione e dettagli di implementazione.

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

Specifica i livelli di servizio di rete utilizzati da GKE per la regola di forwarding esterna e l'indirizzo IP. I valori validi dell'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 di subnet personalizzate.
Accesso globale networking.gke.io/internal-load-balancer-allow-global-access: "true"

Abilita l'indirizzo IP della regola di forwarding in modo che sia accessibile ai client in qualsiasi regione della rete VPC o di una rete connessa.

Anteprima in GKE 1.16 e versioni successive. Disponibile a livello generale in GKE 1.17.9-gke.600 e versioni successive.
Tutte le porte

Nessuna annotazione richiesta, ma deve essere abilitata l'opzione secondaria di GKE.

GKE configura automaticamente la regola di forwarding in modo che utilizzi tutte le porte se in spec.ports[].port sono specificate almeno sei (fino a 100) porte univoche.

GKE versione 1.18.19-gke.1400 o successiva
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 la pagina relativa ai servizi a doppio stack IPv4/IPv6.

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

spec.ipFamilies

Definisce la famiglia di indirizzi IP per allocare servizi a stack singolo o doppio. Utilizza uno dei seguenti valori:

  • IPv4 solo per il servizio IPv4 a 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 versione 1.29 o successive supportano la rete a doppio stack per i servizi LoadBalancer.

Porta per il controllo di integrità

Come descritto in Controlli di integrità del bilanciatore del carico e externalTrafficPolicy, 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 di externalTrafficPolicy:

externalTrafficPolicy Porta per il controllo di integrità
Cluster

Non puoi utilizzare spec.healthCheckNodePort.

Local

Puoi selezionare una porta personalizzata utilizzando spec.healthCheckNodePort. Se non specificato, il piano di controllo Kubernetes assegna una porta per il controllo di integrità dall'intervallo di porte dei nodi.

Lista consentita di regole firewall e indirizzi IP di origine

Quando crei un servizio LoadBalancer, GKE crea una regola firewall VPC corrispondente al servizio. Ogni regola firewall ha le seguenti caratteristiche:

  • La direzione della regola firewall è in entrata e la sua azione è allow. Le regole firewall di negazione in entrata implicite in Google Cloud indicano che GKE utilizza un modello della lista consentita durante la creazione delle regole firewall in entrata.
  • GKE imposta il protocollo e la porta di destinazione della regola firewall su quelle specificate nell'elenco spec.ports[] del servizio.
  • GKE imposta la destinazione per la regola firewall impostando il parametro target sull'indirizzo IP virtuale del LoadBalancer.
  • Se il servizio include spec.loadBalancerSourceRanges[], GKE imposta il parametro di origine della regola firewall sugli indirizzi IP contenuti nell'elenco. 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).

La regola firewall creata per un servizio LoadBalancer consente l'invio di pacchetti, che corrispondono al protocollo e alle porte di destinazione del servizio, all'indirizzo IP virtuale del servizio.

Servizi che utilizzano porte comuni

Quando un cluster contiene due o più servizi che condividono almeno una porta di destinazione e protocollo comune, l'insieme effettivo di intervalli di origine è l'unione di loadBalancerSourceRanges per tutti i servizi che specificano la combinazione di protocollo e porta di destinazione. Questo perché il parametro target di una regola firewall in entrata definisce gli indirizzi IP di destinazione come tutti gli indirizzi IP associati a una VM.

Considera un cluster con due servizi LoadBalancer:

  • La spec.ports[0].port del primo servizio è la porta TCP 80 e la sua spec.loadBalancerSourceRanges=[100.10.0.0/16]. Il bilanciatore del carico risultante corrispondente a questo servizio ha l'indirizzo IP 192.0.2.2.
  • Il spec.ports[0].port del secondo servizio è la porta TCP 80, spec.ports[1].port la porta TCP 90 e la relativa spec.loadBalancerSourceRanges=[172.16.0.0/24]. Il bilanciatore del carico risultante corrispondente a questo servizio ha l'indirizzo IP 198.51.100.3.

GKE crea due regole firewall di autorizzazione in entrata nella rete Virtual Private Cloud del cluster. Entrambe le regole firewall specificano tutti i nodi del cluster come destinazioni:

  • La prima regola firewall consente i pacchetti alla porta di destinazione TCP 80 dall'origine 100.10.0.0/16.
  • La seconda regola firewall consente i pacchetti alle porte di destinazione TCP 80 e 90 dall'origine 172.16.0.0/24.

La prima regola di forwarding instrada il traffico corrispondente alla destinazione 192.0.2.2:80. La seconda regola di forwarding instrada il traffico corrispondente alle destinazioni 198.51.100.3:80 e 198.51.100.3:90. Tutte e tre le seguenti sono destinazioni valide su ciascun nodo: 192.0.2.2:80, 198.51.100.3:80 e 198.51.100.3:90. Ciò significa che:

  • Entrambi i servizi accettano pacchetti alla porta TCP 80 dall'unione degli intervalli di origine degli indirizzi IP, da 100.10.0.0/16 o 172.16.0.0/24.
  • Il secondo servizio accetta i pacchetti verso la porta TCP 90 da 172.16.0.0/24.

L'insieme effettivo di intervalli di origine per tutti i servizi che utilizzano la stessa combinazione di protocollo e porta di destinazione diventa tutti gli indirizzi IP se spec.loadBalancerSourceRanges viene omesso per almeno un servizio che utilizza questa combinazione di protocollo e porta di destinazione. Ad esempio, se il secondo servizio aveva omesso spec.loadBalancerSourceRanges, l'origine del secondo firewall sarebbe 0.0.0.0/0 e:

  • Entrambi i servizi accettano pacchetti alla porta TCP 80 dall'unione degli intervalli di origine degli indirizzi IP, da 100.10.0.0/16 o 0.0.0.0/0. Poiché l'intervallo 0.0.0.0/0 include l'intervallo 100.10.0.0/16, l'origine effettiva dei pacchetti verso la porta TCP 80 è qualsiasi indirizzo IP.
  • Il secondo servizio accetterà i pacchetti alla porta TCP 90 da 0.0.0.0/0 (qualsiasi indirizzo IP).

Indirizzi IP statici

Puoi creare un indirizzo IP statico e configurare GKE per assegnarlo 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 lo stesso 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 è uguale all'indirizzo spec.clusterIP del servizio. L'indirizzo ClusterIP per un servizio non cambia mai quando aggiorni un servizio LoadBalancer.

Parametri degli indirizzi IP statici

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 LoadBalancer interno solo IPv4. Puoi specificare un indirizzo IPv4 esterno statico per un servizio LoadBalancer esterno 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 di 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 statici separati da una virgola.

Puoi specificare un indirizzo IPv4 statico, un intervallo di indirizzi IPv6 statico o entrambi, solo per IPv4, solo IPv6, e per i servizi LoadBalancer interni ed esterni a doppio 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 l' creazione di sottoinsiemi di 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 sulla 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 ciascun bilanciatore del carico utilizza una combinazione univoca di indirizzo IP, protocollo, specifica della porta e specifica di Network Service Tiers, come indicato nella tabella di questa sezione. Inoltre:

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

  • Affinché due o più servizi LoadBalancer interni utilizzino lo stesso indirizzo IPv4 interno o lo stesso intervallo di indirizzi IPv6 interni, l'indirizzo IP statico deve essere creato con lo scopo di 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 discreti oppure possono essere configurate per l'utilizzo di tutte le porte.

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

Quando una regola di forwarding utilizza tutte le porte, nessun'altra regola di forwarding (ovvero nessun altro servizio LoadBalancer interno) può utilizzare lo stesso indirizzo IP.

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

Le regole di forwarding per i bilanciatori del carico di rete passthrough esterni basati sul 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 pool di destinazione che specifica le porte 80 e 443 nel manifest del servizio utilizza una regola di forwarding del bilanciatore del carico con un intervallo di porte compreso tra 80 e 443. Questo intervallo di porte impedisce ad altri servizi LoadBalancer esterni 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 su un 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 porte discreti, un intervallo di porte contiguo oppure possono essere configurati per l'utilizzo di tutte le porte.

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

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

La specifica di Network Service Tiers per l'indirizzo IP esterno statico deve corrispondere a una delle seguenti condizioni:

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

Il livello predefinito del progetto è Premium, a meno che non sia stato configurato in modo diverso.

Subnet LoadBalancer

Puoi configurare un servizio LoadBalancer interno in modo che utilizzi un indirizzo IPv4 temporaneo o statico, un intervallo di indirizzi IPv6 o entrambi in una subnet personalizzata situata nella stessa regione e nella stessa rete VPC del cluster. Usa una subnet personalizzata per un servizio LoadBalancer interno in modo da:

  • Raggruppa i bilanciatori del carico di rete passthrough interni creati dai servizi di bilanciamento del carico interni da due o più cluster GKE nella stessa rete VPC e nella stessa regione.
  • Creare 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 a doppio stack, crea servizi LoadBalancer interni i cui bilanciatori del carico di rete passthrough interni hanno intervalli di indirizzi IPv6 separati dagli indirizzi IPv6 del nodo e del pod del cluster. Una subnet LoadBalancer personalizzata è obbligatoria per supportare i servizi LoadBalancer interni se la subnet del cluster ha un intervallo di indirizzi IPv6 esterno.

Puoi configurare un servizio LoadBalancer esterno in modo che utilizzi un intervallo di indirizzi IPv6 temporaneo o statico in una subnet personalizzata situata nella stessa regione e nella stessa rete VPC del cluster. Utilizza una subnet personalizzata per creare servizi di bilanciamento del carico esterni i cui bilanciatori del carico di rete passthrough esterni hanno intervalli di indirizzi IPv6 separati dagli indirizzi IPv6 del nodo e del pod del cluster. Una subnet LoadBalancer personalizzata è obbligatoria per supportare i servizi LoadBalancer esterni in un cluster privato a doppio stack poiché la subnet del cluster ha un intervallo di indirizzi IPv6 interno.

Annotazioni di 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 file 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 di annotazione sono 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 LoadBalancer 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 LoadBalancer interno solo IPv4, solo IPv6 o a doppio stack. Puoi specificare una subnet personalizzata per un servizio LoadBalancer esterno solo IPv6 o a doppio 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 l' impostazione secondaria di 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 LoadBalancer interno

La tabella seguente descrive le combinazioni valide di specifiche di subnet e indirizzi IPv4 per un servizio LoadBalancer interno solo IPv4 o a doppio 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 principali della subnet personalizzata. Subnet personalizzata e indirizzo IPv4 temporaneo: GKE utilizza un indirizzo IPv4 interno non allocato nell'intervallo di indirizzi IPv4 principali 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 principali della subnet del cluster. Subnet del cluster e indirizzo IPv4 temporaneo: GKE utilizza un indirizzo IPv4 interno non allocato nell'intervallo di indirizzi IPv4 principali della subnet del cluster.

Intervallo di indirizzi IPv6 e subnet per un servizio LoadBalancer interno

La tabella seguente descrive le combinazioni valide di specifiche di subnet e intervalli di indirizzi IPv6 per un servizio LoadBalancer interno 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 solo i nodi in modo che accettino pacchetti le cui destinazioni corrispondono al primo indirizzo IPv6 (/128) dell'intervallo /96 della regola di forwarding.

Intervallo di indirizzi IPv6 statico Intervallo di indirizzi IPv6 temporaneo
Subnet a doppio stack personalizzata
Subnet personalizzata e intervallo di indirizzi IPv6 statici: l'intervallo di indirizzi IPv6 /96 interno statico deve essere stato creato nell'intervallo di indirizzi IPv6 /64 interno della subnet personalizzata. Subnet personalizzata e intervallo di indirizzi IPv6 temporanei: GKE utilizza un intervallo di indirizzi IPv6 interno /96 non allocato dall'intervallo di indirizzi IPv6 /64 interno della subnet personalizzata.
Subnet a doppio stack del cluster
  • Deve avere un intervallo di indirizzi IPv6 interno (tipo di accesso INTERNAL).
Subnet del cluster e intervallo di indirizzi IPv6 statici: l'intervallo di indirizzi IPv6 /96 interno statico deve essere stato creato nell'intervallo di indirizzi IPv6 /64 interno della subnet del cluster. Subnet del cluster e intervallo di indirizzi IPv6 temporanei: GKE utilizza un intervallo di indirizzi IPv6 /96 interno non allocato dall'intervallo di indirizzi IPv6 /64 interno della subnet del cluster.

Subnet e indirizzo IPv4 per un servizio LoadBalancer esterno

Per i servizi LoadBalancer esterni solo IPv4 e a doppio stack, l'indirizzo IPv4 esterno, che si tratti di un indirizzo IPv4 esterno statico o di un indirizzo IPv4 esterno temporaneo, non proviene da una subnet.

Intervallo di indirizzi IPv6 e subnet per un servizio LoadBalancer esterno

La tabella seguente descrive le combinazioni valide di specifiche di subnet e intervalli di indirizzi IPv6 per un servizio LoadBalancer esterno solo IPv6 o a doppio stack. Anche se la regola di forwarding IPv6 del bilanciatore del carico di rete passthrough esterno utilizza un intervallo di indirizzi IPv6 /96 esterno, GKE configura solo i nodi in modo che accettino pacchetti le cui destinazioni corrispondono al primo indirizzo IPv6 (/128) dell'intervallo /96 della regola di forwarding.

Intervallo di indirizzi IPv6 statico Intervallo di indirizzi IPv6 temporaneo
Subnet a doppio stack personalizzata
Subnet personalizzata e intervallo di indirizzi IPv6 statici: l'intervallo di indirizzi IPv6 /96 esterno statico deve essere stato creato nell'intervallo di indirizzi IPv6 esterni /64 della subnet personalizzata. Gli intervalli di indirizzi IPv6 esterni statici possono essere creati solo nel livello Premium. Subnet personalizzata e intervallo di indirizzi IPv6 temporanei: GKE utilizza un intervallo di indirizzi IPv6 esterno /96 non allocato dall'intervallo di indirizzi IPv6 /64 esterno della subnet personalizzata.
Subnet a doppio stack del cluster
  • Deve avere un intervallo di indirizzi IPv6 esterno (tipo di accesso EXTERNAL).
Subnet del cluster e intervallo di indirizzi IPv6 statici: l'intervallo di indirizzi IPv6 /96 esterno statico deve essere stato creato nell'intervallo di indirizzi IPv6 esterno /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 esterno /96 non allocato dall'intervallo di indirizzi IPv6 /64 esterno 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 disabilitato. 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 abilita l'opzione di accesso globale sulla regola di forwarding del bilanciatore del carico di rete passthrough interno. I client che si trovano in qualsiasi regione della rete VPC o di una rete connessa alla rete VPC del cluster possono accedere al bilanciatore del carico.

Per ulteriori informazioni su come l'accesso globale si applica ai client in una rete connessa, vedi:

Tutte le regole di port forwarding

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

Nei cluster GKE in cui l'impostazione di sottoinsiemi GKE è disabilitata, un servizio LoadBalancer interno può supportare solo cinque porte univoche nell'elemento spec.ports[].port del servizio.

Nei cluster GKE in cui è abilitata l'impostazione di sottoinsiemi GKE, un servizio LoadBalancer interno può supportare solo fino a 100 porte nella spec.ports[].port del servizio. Per i servizi LoadBalancer interni con un numero di voci spec.ports[].port univoche compreso tra sei e 100, GKE configura la regola di forwarding del bilanciatore del carico di rete passthrough interno in modo che utilizzi tutte le porte fin dalla sua creazione. Il controller GKE abilita tutte le porte nella regola di forwarding perché il servizio ne ha più di cinque. Quando configuri una regola di forwarding per l'utilizzo di tutte le porte, GKE crea regole firewall di autorizzazione in entrata solo per le porte specifiche configurate in spec.ports[].port sul servizio.

Per ulteriori informazioni 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 a doppio stack IPv4/IPv6

Puoi creare un servizio LoadBalancer interno o esterno che può essere a stack singolo (solo IPv4 o solo IPv6) o a doppio stack. I servizi LoadBalancer a stack singolo creano un'unica regola di forwarding con un indirizzo IPv4 o un indirizzo IPv6. I servizi LoadBalancer a doppio stack creano due regole di forwarding: una con un indirizzo IPv4 e un'altra con un indirizzo IPv6. Per creare un servizio LoadBalancer a doppio stack IPv4/IPv6, eseguine il deployment su un cluster a doppio 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 IPv4/IPv6 dual stack.

Limitazioni dei servizi LoadBalancer a doppio 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 a doppio stack per un cluster nativo di VPC.
  • Non è possibile eseguire l'upgrade dei servizi LoadBalancer creati con un indirizzo a stack singolo ai servizi a doppio stack.

  • I servizi LoadBalancer creati con indirizzi a doppio 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.