Un gruppo di endpoint di rete (NEG) è un oggetto di configurazione che specifica un gruppo di endpoint o servizi di backend. I NEG di zona sono risorse zonali che rappresentano raccolte di indirizzi IP o combinazioni di indirizzi IP e porte per le risorse Google Cloud all'interno di una singola subnet.
Un gruppo di endpoint di rete può essere considerato una raccolta di endpoint di rete. Ogni endpoint in un NEG deve puntare a un indirizzo IP univoco dell'interfaccia di rete di una VM. Un endpoint di rete appartiene esattamente a un gruppo di endpoint di rete. Un singolo indirizzo IP non può fare riferimento a più di un endpoint in un NEG. Tuttavia, un singolo indirizzo IP può essere referenziato da endpoint in NEG diversi. Il seguente diagramma mostra una rappresentazione stilizzata di questo concetto. Nel diagramma, gli indirizzi IP 2 e 3 vengono referenziati da endpoint di rete che si trovano in gruppi di endpoint di rete diversi.
I NEG zonali ti consentono di:
Instrada i pacchetti a qualsiasi interfaccia di rete di un'istanza VM, incluse le interfacce diverse da
nic0. In questo modo puoi creare raggruppamenti logici di indirizzi IP e porte che rappresentano servizi software anziché intere VM.Crea un insieme flessibile di indirizzi IP in cui un indirizzo IP può essere collegato a più NEG, dove ogni NEG può avere un insieme di indirizzi IP diverso ma possibilmente sovrapposto.
Esistono due tipi di NEG zonali, a seconda del tipo di endpoint di rete che compongono il NEG. I due tipi di NEG zonali supportano diversi casi d'uso e tipi di bilanciatori del carico.
I NEG di zona con endpoint
GCE_VM_IPsono supportati come backend per i seguenti bilanciatori del carico:I NEG zonali con endpoint
GCE_VM_IP_PORTsono supportati come backend per i seguenti bilanciatori del carico basati su proxy:
NEG con GCE_VM_IP endpoint
Questi NEG di zona contengono uno o più endpoint GCE_VM_IP, ognuno dei quali
ha un indirizzo IPv4 interno principale di un'interfaccia di rete
di una VM di Compute Engine.
Con un endpoint GCE_VM_IP, selezioni l'indirizzo IP principale di un'interfaccia di rete, quindi il livello di granularità che fornisce è simile alla selezione diretta di un'interfaccia di rete.
Un endpoint GCE_VM_IP non può puntare
a un indirizzo IP di un intervallo IPv4 alias.
L'interfaccia di rete a cui fa riferimento l'endpoint GCE_VM_IP deve trovarsi nella stessa subnet del NEG.
Non puoi aggiungere un endpoint che sia
contemporaneamente IPv4 e IPv6 (un "endpoint dual-stack")
a un NEG di zona GCE_VM_IP. In altre parole, puoi utilizzare un solo
indirizzo IP quando crei un endpoint GCE_VM_IP. Tuttavia, gli endpoint NEG di zona GCE_VM_IP possono fare riferimento all'interfaccia di rete di una VM il cui tipo di stack è solo IPv4 o a doppio stack.
| Endpoint di rete | Interfaccia di rete VM compatibile |
|---|---|
| Endpoint IPv4 (principale) | Interfaccia solo IPv4 |
| Endpoint IPv4 (principale) | Interfaccia dual stack |
Poiché un endpoint GCE_VM_IP identifica un'interfaccia di rete, non
puoi specificare una porta con un endpoint GCE_VM_IP.
Questi tipi di endpoint possono essere utilizzati solo come backend nei servizi di backend per i bilanciatori del carico di rete passthrough interni ed esterni.
NEG con GCE_VM_IP_PORT endpoint
Questi NEG di zona contengono uno o più endpoint GCE_VM_IP_PORT, ognuno dei quali ha una delle seguenti combinazioni di indirizzi IP insieme alla porta di destinazione:
Indirizzo IPv4 principale + porta: l'indirizzo IPv4 interno principale di un'interfaccia di rete VM più un numero di porta di destinazione
Indirizzo IPv4 alias + porta: un indirizzo IPv4 interno dell'intervallo di indirizzi IP alias assegnato a un'interfaccia di rete VM più un numero di porta di destinazione
Indirizzo IPv4 principale + qualsiasi indirizzo IPv6 + porta: l'indirizzo IPv4 interno principale di un'interfaccia di rete VM e qualsiasi indirizzo IPv6 (
/128) da un intervallo/96assegnato a un'interfaccia di rete VM più un numero di porta di destinazioneIndirizzo IPv4 alias + qualsiasi indirizzo IPv6 + porta: un indirizzo IPv4 interno dall'intervallo di indirizzi IP alias assegnato a un'interfaccia di rete VM e qualsiasi indirizzo IPv6(
/128) da un intervallo/96assegnato a un'interfaccia di rete VM più un numero di porta di destinazione
Rispetto a un endpointGCE_VM_IP, con un endpoint GCE_VM_IP_PORT puoi
selezionare non solo l'indirizzo IP principale di un'interfaccia di rete, ma qualsiasi indirizzo IP, quindi il livello di granularità fornito da un endpoint GCE_VM_IP_PORT è maggiore della semplice selezione di un'interfaccia di rete.
L'interfaccia di rete a cui fa riferimento l'endpoint GCE_VM_IP_PORT deve trovarsi nella stessa subnet del NEG. Quando ometti un numero di porta da un
endpoint GCE_VM_IP_PORT, Google Cloud utilizza il numero di porta predefinito del NEG
per l'endpoint.
Come illustrato nella tabella seguente, gli endpoint GCE_VM_IP_PORT possono fare riferimento a un'interfaccia di rete della VM il cui tipo di stack può essere solo IPv4 o a doppio stack.
| Endpoint di rete | Interfaccia di rete VM compatibile |
|---|---|
| Endpoint IPv4 (principale o alias) | Interfaccia solo IPv4 |
| Endpoint IPv4 (principale o alias) | Interfaccia dual stack |
Endpoint IPv4 (primario o alias) e IPv6 (uno qualsiasi di un intervallo Chiamato anche endpoint "dual-stack" |
Interfaccia dual stack |
Poiché questi backend NEG di zona ti consentono di specificare indirizzi IP e porte, puoi distribuire il traffico in modo granulare tra applicazioni o container in esecuzione all'interno delle istanze VM, ovvero il bilanciamento del carico nativo dei container.
GKE utilizza endpoint GCE_VM_IP_PORT per:
Puoi creare bilanciatori del carico autogestiti che utilizzano NEG di zona i cui
endpoint GCE_VM_IP_PORTsono gestiti da GKE. Per i dettagli,
vedi Bilanciamento del carico nativo del container tramite NEG standalone a livello di zona.
I bilanciatori del carico delle applicazioni e i bilanciatori del carico di rete proxy supportano i NEG di zona con endpoint GCE_VM_IP_PORT.
Specifiche dell'endpoint
Quando crei un NEG, selezioni una zona, una rete e una subnet.
Se la rete selezionata è una rete VPC in modalità automatica, puoi omettere la specifica della subnet. Tuttavia, una subnet è ancora associata al NEG zonale. Se specifichi una rete VPC in modalità automatica, ma non specifichi una subnet quando crei un NEG zonale, la subnet utilizzata è quella creata automaticamente nella regione che contiene la zona selezionata per il NEG zonale.
Il tipo di NEG di zona che crei viene specificato quando crei il NEG
(GCE_VM_IP o GCE_VM_IP_PORT). Questo determina i tipi di
endpoint supportati dal NEG.
NEG a livello di zona GCE_VM_IP
All'interno di un determinato NEG, ogni endpoint GCE_VM_IP
rappresenta in realtà un'interfaccia di rete.
Per i NEG a livello di zona GCE_VM_IP devono essere soddisfatte le seguenti condizioni:
Devi specificare il nome della VM per ogni endpoint.
Ogni VM endpoint deve trovarsi nella stessa zona del NEG.
Ogni endpoint in un NEG
GCE_VM_IPdeve essere un indirizzo IP univoco. A un indirizzo IP endpoint univoco può fare riferimento più di un NEG.Ogni NEG
GCE_VM_IPè sempre associato a una rete e a una subnet. L'indirizzo IP di qualsiasi interfaccia di rete di un'istanza VM con più NIC può essere aggiunto a un NEG, a condizione che si trovi nella stessa subnet del NEG.Ogni NEG supporta fino al numero massimo di endpoint per NEG. Gli endpoint devono essere distribuiti tra tutte le VM uniche. Non è possibile posizionare più endpoint su una singola VM perché una VM non può avere più di un'interfaccia di rete associata alla stessa subnet.
Quando aggiungi un endpoint per un NEG GCE_VM_IP, puoi scegliere se specificare
l'indirizzo IP o meno:
Se l'indirizzo IP è specificato, deve essere impostato sull'indirizzo IPv4 interno principale dell'interfaccia di rete della VM.
Se ometti l'indirizzo IP, questo viene selezionato in base all'interfaccia di rete che si trova nella subnet del NEG. Se l'endpoint fa riferimento a un'interfaccia di rete solo IPv4 o a doppio stack, l'indirizzo IPv4 interno principale dell'interfaccia di rete della VM viene selezionato come indirizzo IP dell'endpoint.
Tieni presente che specificare un indirizzo IP è ridondante perché può esistere una sola interfaccia di rete nella subnet associata al NEG.
NEG a livello di zona GCE_VM_IP_PORT
All'interno di un determinato NEG, ogni endpoint GCE_VM_IP_PORT può rappresentare non solo l'indirizzo IP principale di un'interfaccia di rete, ma qualsiasi indirizzo IP di un'interfaccia di rete.
Per i NEG a livello di zona GCE_VM_IP_PORT devono essere soddisfatte le seguenti condizioni:
Devi specificare il nome della VM per ogni endpoint.
Ogni VM endpoint deve trovarsi nella stessa zona del NEG.
Ogni endpoint nel NEG deve essere una combinazione univoca di indirizzo IP e porta. A una combinazione univoca di indirizzo IP e porta dell'endpoint può fare riferimento più di un NEG.
Ogni VM endpoint deve avere un'interfaccia di rete nella stessa rete VPC del NEG. Gli indirizzi IP degli endpoint devono essere associati alla stessa subnet specificata come NEG.
Ogni NEG supporta fino al numero massimo di endpoint per NEG. Gli endpoint possono essere distribuiti tra altrettante VM uniche o tutti si trovano su una sola VM.
Quando aggiungi un endpoint per un NEG GCE_VM_IP_PORT, puoi scegliere di specificare
un indirizzo IP e una porta, solo un indirizzo IP o nessuno dei due:
Se specifichi un indirizzo IP e una porta, l'indirizzo IP può essere un indirizzo IPv4 o sia un indirizzo IPv4 che IPv6. La porta utilizzata è a tua scelta. Un modo intuitivo per pensare alle diverse combinazioni è descritto nella sezione NEG con
GCE_VM_IP_PORTendpoint di questo documento.L'indirizzo IPv4 può essere l'indirizzo IPv4 interno principale o un indirizzo IPv4 interno dell'intervallo di indirizzi IP alias sull'interfaccia di rete. L'indirizzo IPv6 può essere qualsiasi indirizzo IPv6 (
/128) di un intervallo/96assegnato a un'interfaccia di rete VM. La porta utilizzata è a tua scelta.Se specifichi solo un indirizzo IP, questo può essere un indirizzo IPv4 o sia un indirizzo IPv4 che IPv6. La porta utilizzata è il numero porta predefinito del NEG per l'endpoint. Un modo intuitivo per pensare alle diverse combinazioni è descritto nella sezione NEG con
GCE_VM_IP_PORTendpoint di questo documento.L'indirizzo IPv4 può essere l'indirizzo IPv4 interno principale o un indirizzo IPv4 interno dell'intervallo di indirizzi IP alias sull'interfaccia di rete. L'indirizzo IPv6 può essere qualsiasi indirizzo IPv6 (
/128) di un intervallo/96assegnato a un'interfaccia di rete VM. La porta utilizzata è il numero porta predefinito del NEG per l'endpoint.Se ometti sia l'indirizzo IP che la porta, l'indirizzo IP viene selezionato in base all'interfaccia di rete che si trova nella subnet del NEG. Se l'endpoint fa riferimento a un'interfaccia di rete solo IPv4 o a doppio stack, l'indirizzo IPv4 interno principale dell'interfaccia di rete della VM viene selezionato come indirizzo IP dell'endpoint.
Per quanto riguarda la porta, Google Cloud utilizza il numero porta predefinito del NEG per l'endpoint.
Bilanciamento del carico con i NEG di zona
I NEG di zona possono essere utilizzati come backend per i servizi
di backend in un bilanciatore del carico.
Quando utilizzi un NEG a livello di zona come backend per un servizio di backend, tutti gli altri backend di quel servizio di backend devono essere anche NEG a livello di zona dello stesso tipo (tutti GCE_VM_IP o GCE_VM_IP_PORT). Non puoi utilizzare gruppi di istanze e NEG a livello di zona come backend nello stesso servizio di backend.
Puoi aggiungere lo stesso endpoint di rete a più NEG di zona. Puoi utilizzare lo stesso NEG di zona come backend per più di un servizio di backend.
I NEG zonali GCE_VM_IP_PORT possono utilizzare la modalità di bilanciamento RATE o la modalità di bilanciamento CONNECTION, a seconda del protocollo del servizio di backend. I bilanciatori del carico supportati richiedono
la definizione di una capacità target.
I NEG di zona GCE_VM_IP devono utilizzare la modalità di bilanciamento CONNECTION. Inoltre,
i bilanciatori del carico di rete passthrough interni e i bilanciatori del carico di rete passthrough esterni non supportano l'impostazione della capacità di destinazione.
Bilanciatori del carico di rete passthrough
I NEG di zona con endpoint GCE_VM_IP possono essere utilizzati come backend per i servizi di backend solo per i bilanciatori del carico di rete passthrough interni ed esterni.
Consulta le sezioni seguenti per i casi d'uso principali dei NEG con endpoint GCE_VM_IP.
Raggruppamento flessibile degli endpoint
Come i gruppi di istanze, puoi utilizzare lo stesso NEG come backend per più bilanciatori del carico di rete pass-through. A differenza dei gruppi di istanze, un endpoint NEG può essere membro di più NEG e ciascuno di questi NEG può essere utilizzato come backend per uno o più bilanciatori del carico di rete pass-through. Rispetto ai gruppi di istanze, non sei vincolato dal fatto che un'istanza VM può far parte di un solo gruppo di istanze.
La figura seguente mostra un'architettura di esempio del bilanciatore del carico di rete passthrough interno con una VM condivisa.
Interfacce non nic0 come endpoint di backend
I NEG di zona con endpoint GCE_VM_IP consentono il bilanciamento del carico sulle interfacce di rete non nic0 delle VM. Questa opzione può essere utile quando si esegue l'integrazione con VM appliance di terze parti che in genere riservano nic0 per le operazioni di gestione. Con i NEG GCE_VM_IP, qualsiasi interfaccia di rete non nic0 della stessa VM può essere collegata a un backend NEG di un bilanciatore del carico di rete passthrough.
Impostazione secondaria GKE
GKE utilizza i NEG di zona GCE_VM_IP e il sottoinsieme per migliorare
la scalabilità dei bilanciatori del carico di rete passthrough interni nel seguente modo:
Senza il sottoinsieme, GKE crea un gruppo di istanze non gestite per zona, costituito dai nodi del cluster di tutti i pool di nodi in quella zona. Questi gruppi di istanze a livello di zona vengono utilizzati come backend per uno o più servizi LoadBalancer interni (e per ingressi esterni che non utilizzano NEG).
Con l'impostazione secondaria, GKE crea GCE_VM_IP NEG di zona per
ogni servizio LoadBalancer interno. Lo stesso endpoint può essere membro di più
di un NEG di zona. A differenza dei gruppi di istanze, Google Cloud può bilanciare il carico
su più NEG di zona che contengono lo stesso endpoint.
Il sottoinsieme distribuisce in modo più efficiente il traffico ai servizi LoadBalancer interni nei cluster con più di 250 nodi. Ad esempio, un cluster GKE con 300 nodi potrebbe avere un servizio LoadBalancer interno con 25 nodi in un NEG perché ci sono 25 pod di servizio per quel servizio. Non è necessario aggiungere tutti i 300 nodi a un backend del gruppo di istanze per questo servizio.
Tieni presente che le quote per i NEG, le regole di forwarding, i servizi di backend e altre risorse di networking Google Cloud sono comunque valide.
Per ulteriori dettagli, consulta Utilizzo del sottoinsieme del bilanciatore del carico di rete passthrough interno.
Bilanciatori del carico delle applicazioni e bilanciatori del carico di rete proxy
Le seguenti illustrazioni mostrano i componenti di configurazione per i bilanciatori del carico
in cui i NEG di zona con endpoint GCE_VM_IP_PORT sono i backend:
Per saperne di più sui requisiti architetturali di questi bilanciatori del carico, consulta:
- Panoramica del bilanciatore del carico delle applicazioni esterno
- Panoramica del bilanciatore del carico delle applicazioni interno
- Panoramica del bilanciatore del carico di rete proxy esterno
- Panoramica del bilanciatore del carico di rete proxy interno
Il caso d'uso principale per i NEG zonali GCE_VM_IP_PORT è il bilanciamento del carico nativo dei container, in modo da poter distribuire il traffico direttamente ai container in esecuzione sulle VM, ad esempio agli indirizzi IP dei pod nei cluster GKE.
Il bilanciamento del carico nativo del container consente ai bilanciatori del carico di scegliere come target direttamente i pod e di prendere decisioni sulla distribuzione del carico a livello di pod anziché a livello di VM.
L'esempio seguente mostra come i bilanciatori del carico distribuiscono il traffico tra i microservizi in esecuzione nei container sulle VM. Le VM sono configurate per utilizzare intervalli IP alias dalle relative subnet e questi intervalli sono gli indirizzi utilizzati dai container.
Esistono due modi per configurare il bilanciamento del carico nativo del container: utilizzare i NEG gestiti da GKE Ingress o utilizzare i NEG standalone.
Ingress Kubernetes con NEG (consigliato)
Quando i NEG vengono utilizzati con Ingress, il controller Ingress facilita la creazione di tutti gli aspetti di un bilanciatore del carico HTTP(S). Ciò include la creazione dell'indirizzo IP virtuale, delle regole di forwarding, dei controlli di integrità, delle regole firewall e altro ancora. Per scoprire come configurarlo, consulta Bilanciamento del carico nativo dei container tramite Ingress.
Ingress è il modo consigliato per utilizzare i NEG per il bilanciamento del carico nativo del container, in quanto offre molte funzionalità che semplificano la gestione dei NEG. In alternativa, puoi creare manualmente un bilanciatore del carico proxy, ma GKE gestirà comunque l'appartenenza all'endpoint NEG, come descritto nel punto successivo (NEG autonomi).
Per istruzioni su come configurare un bilanciatore del carico tramite Ingress, consulta Bilanciamento del carico nativo dei container tramite Ingress.
NEG autonomi
I NEG autonomi consentono al cluster GKE di creare NEG di zona con endpoint
GCE_VM_IP_PORTche rappresentano gli indirizzi IP dei pod e le porte dei container, offrendoti al contempo la flessibilità di configurare i componenti del bilanciatore del carico al di fuori di GKE.Per esempi sull'utilizzo di NEG di zona autonomi con GKE, consulta:
Limitazioni
- Non puoi utilizzare i NEG di zona con le reti legacy.
- Un servizio di backend che utilizza i NEG come backend non può utilizzare anche i gruppi di istanze come backend.
Limitazioni per i NEG a livello di zona GCE_VM_IP
- I NEG di zona con endpoint
GCE_VM_IPsono supportati solo con i bilanciatori del carico di rete passthrough interni ed esterni. - La proprietà
default-portnon è supportata per i NEG di zonaGCE_VM_IP.
Quote
- Per informazioni sulle quote NEG, ad esempio NEG per progetto, NEG per servizio di backend ed endpoint per NEG, consulta la pagina delle quote di bilanciamento del carico.
Passaggi successivi
- Per informazioni sulla configurazione dei NEG zonali, consulta Configura gruppi di endpoint di rete zonali.
- Per informazioni sull'utilizzo dei NEG zonali in Google Kubernetes Engine, consulta Bilanciamento del carico nativo dei container tramite Ingress.