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 di zona che rappresentano raccolte di indirizzi IP o combinazioni di indirizzi IP e porte per le Google Cloud risorse all'interno di una singola subnet.
Puoi considerare un gruppo di endpoint di rete come 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 a esattamente un gruppo di endpoint di rete. Un singolo indirizzo IP non può essere referenziato da più di un endpoint in un NEG. Tuttavia, un singolo indirizzo IP può essere referenziato da endpoint in NEG diversi. Il seguente diagramma presenta una rappresentazione stilizzata di questo concetto. Nel diagramma, "Indirizzo IP - 2" e "Indirizzo IP - 3" sono referenziati da endpoint di rete che si trovano in gruppi di endpoint di rete diversi.
I NEG di zona ti consentono di:
Inoltrare 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.Creare 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 potenzialmente sovrapposto.
Esistono due tipi di NEG di zona, a seconda del tipo di endpoint di rete che compongono il NEG. I due tipi di NEG di zona 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 di zona con endpoint
GCE_VM_IP_PORTsono supportati come backend per i seguenti bilanciatori del carico basati su proxy:
NEG con endpoint GCE_VM_IP
Questi NEG di zona contengono uno o più endpoint GCE_VM_IP, ognuno con un indirizzo IPv4 interno principale dell'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 referenziata dall'endpoint GCE_VM_IP deve trovarsi nella stessa subnet del NEG.
Come illustrato nella tabella seguente, gli endpoint GCE_VM_IP possono referenziare l'interfaccia di rete di una VM
il cui tipo di stack può essere solo IPv4
o a doppio stack.
Non puoi aggiungere un endpoint contemporaneamente IPv4 e IPv6 (un endpoint a doppio 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 referenziare l'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 a doppio 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 e i bilanciatori del carico di rete passthrough esterni regionali.
NEG con endpoint GCE_VM_IP_PORT
Questi NEG di zona contengono uno o più endpoint GCE_VM_IP_PORT, ognuno con 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) di 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 dell'intervallo di indirizzi IP alias assegnato a un'interfaccia di rete VM e qualsiasi indirizzo IPv6(
/128) di 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 referenziata dall'endpoint GCE_VM_IP_PORT deve trovarsi nella stessa subnet del NEG. Quando ometti un numero di porta da un
GCE_VM_IP_PORT endpoint, 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 referenziare l'
interfaccia di rete di una 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 a doppio stack |
Endpoint IPv4 (principale o alias) e IPv6 (qualsiasi da un intervallo Chiamato anche endpoint a doppio stack |
Interfaccia a doppio stack |
Poiché questi backend NEG di zona ti consentono di specificare indirizzi IP e porte, puoi distribuire il traffico in modo granulare tra le applicazioni o i container in esecuzione all'interno delle istanze VM: bilanciamento del carico nativo del container.
GKE utilizza gli endpoint GCE_VM_IP_PORT per:
Puoi creare bilanciatori del carico autogestiti che utilizzano NEG di zona i cui endpoint GCE_VM_IP_PORT sono gestiti da GKE. Per i dettagli,
consulta Bilanciamento del carico nativo del container tramite NEG standalone a livello di zona
NEGs.
I bilanciatori del carico delle applicazioni e i bilanciatori del carico di rete del proxy supportano i NEG di zona con endpoint GCE_VM_IP_PORT.
Specifiche degli 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 è comunque associata al NEG di zona. Se specifichi una rete VPC in modalità automatica, ma non specifichi una subnet quando crei un NEG di zona, la subnet utilizzata è quella creata automaticamente nella regione che contiene la zona selezionata per il NEG di zona.
Il tipo di NEG di zona che crei viene specificato quando crei il NEG
(ovvero GCE_VM_IP o GCE_VM_IP_PORT). Questo determina i tipi di
endpoint supportati dal NEG.
NEG 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 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. Un indirizzo IP endpoint univoco può essere referenziato da 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 purché 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 univoche. 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 presente nella subnet del NEG. Se l'endpoint fa riferimento a un'interfaccia di rete solo IPv4 o a doppio stack, come indirizzo IP dell'endpoint viene selezionato l'indirizzo IPv4 interno principale dell'interfaccia di rete della VM.
Tieni presente che la specifica di un indirizzo IP è ridondante perché può esistere una sola interfaccia di rete nella subnet associata al NEG.
NEG 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 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. Una combinazione univoca di indirizzo IP e porta dell'endpoint può essere referenziata da 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 un numero elevato di VM univoche o tutti su una 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 un indirizzo IPv6. La porta utilizzata è a tua scelta. Un modo intuitivo per pensare a lle 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, l'indirizzo IP può essere un indirizzo IPv4 o sia un indirizzo IPv4 che un indirizzo IPv6. La porta utilizzata è il numero di 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 di 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 presente nella subnet del NEG. Se l'endpoint fa riferimento a un'interfaccia di rete solo IPv4 o a doppio stack, come indirizzo IP dell'endpoint viene selezionato l'indirizzo IPv4 interno principale dell'interfaccia di rete della VM.
Per quanto riguarda la porta, Google Cloud utilizza il numero di porta predefinito del NEG per l'endpoint.
Bilanciamento del carico con NEG di zona
I NEG di zona possono essere utilizzati come backend per servizi
di backend in un bilanciatore del carico.
Quando utilizzi un NEG di zona come
backend per un servizio di backend, anche tutti gli altri backend di quel servizio di backend devono
essere NEG di zona dello stesso tipo (tutti GCE_VM_IP o GCE_VM_IP_PORT).
Non puoi utilizzare gruppi di istanze e NEG di zona come backend nello
stesso servizio di backend.
Puoi aggiungere lo stesso endpoint di rete a più di un NEG di zona. Puoi utilizzare lo stesso NEG di zona come backend per più di un servizio di backend.
GCE_VM_IP_PORT I NEG di zona possono utilizzare la modalità di bilanciamento RATE o
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 regionali non supportano l'impostazione della capacità target.
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 e i bilanciatori del carico di rete passthrough esterni regionali.
Per i casi d'uso principali dei NEG con endpoint GCE_VM_IP, consulta le sezioni seguenti.
Raggruppamento flessibile degli endpoint
Come i gruppi di istanze, puoi utilizzare lo stesso NEG come backend per più bilanciatori del carico di rete passthrough. A differenza dei gruppi di istanze, un endpoint NEG può essere membro di più NEG e ognuno di questi NEG può essere utilizzato come backend per uno o più bilanciatori del carico di rete passthrough. 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 le 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 l'impostazione secondaria per migliorare la scalabilità dei bilanciatori del carico di rete passthrough interni nel seguente modo:
Senza l'impostazione secondaria, GKE crea un gruppo di istanze non gestite per zona, composto dai nodi del cluster di tutti i node pool in quella zona. Questi gruppi di istanze di zona vengono utilizzati come backend per uno o più servizi LoadBalancer interni (e per gli Ingress esterni che non utilizzano i NEG stessi).
Con l'impostazione secondaria, GKE crea NEG di zona GCE_VM_IP 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.
L'impostazione secondaria 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é sono presenti 25 pod di pubblicazione 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 rete Google Cloud sono comunque applicabili.
Per maggiori dettagli, consulta Utilizzo dell'impostazione secondaria del bilanciatore del carico di rete passthrough interno subsetting.
Bilanciatori del carico delle applicazioni e bilanciatori del carico di rete del 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 del proxy esterno
- Panoramica del bilanciatore del carico di rete del proxy interno
Il caso d'uso principale per i NEG di zona GCE_VM_IP_PORT è il bilanciamento del carico nativo del 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.
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 gli intervalli di indirizzi IP alias delle 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 configurare questa opzione, consulta Bilanciamento del carico nativo del 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 del proxy, ma lasciare che GKE gestisca l'appartenenza degli endpoint NEG, come descritto nel punto successivo (NEG standalone).
Per istruzioni su come configurare un bilanciatore del carico tramite Ingress, consulta Bilanciamento del carico nativo del container tramite Ingress.
NEG standalone
I NEG standalone 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 dei NEG di zona standalone 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.
- Un'istanza con
più interfacce di rete collegate alla stessa rete VPC può essere aggiunta
come endpoint a un NEG di zona. Tuttavia, dall'insieme di interfacce di rete collegate alla stessa rete VPC, solo
nic0può essere l'interfaccia referenziata dall'endpoint.
Limitazioni per i NEG 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 e i bilanciatori del carico di rete passthrough esterni regionali. - La
default-portproprietà non è 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 di zona, consulta Configurare i gruppi di endpoint di rete di zona.
- Per informazioni sull'utilizzo dei NEG di zona in Google Kubernetes Engine, consulta Bilanciamento del carico nativo del container tramite Ingress.