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 a livello di zona che rappresentano raccolte di indirizzi IP o combinazioni di indirizzo IP e porta per le risorse Google Cloud all'interno di una singola subnet.
I NEG sono utili perché consentono di creare raggruppamenti logici di indirizzi IP e porte che rappresentano servizi software invece di intere VM. Gli indirizzi IP per i microservizi (in esecuzione nelle VM Google Cloud) gestiti da altri orchestratori come Apache Mesos o Cloud Foundry possono essere endpoint.
Per informazioni su altri tipi di NEG, consulta:
- Panoramica dei gruppi di endpoint di rete
- Panoramica dei gruppi di endpoint di rete internet
- Panoramica dei gruppi di endpoint di rete serverless
Esistono due tipi di NEG a livello di zona, a seconda del tipo di endpoint di rete che compongono il NEG. I due tipi di NEG a livello di zona supportano casi d'uso e tipi di bilanciatore del carico diversi.
- NEG a livello di zona con endpoint
GCE_VM_IP_PORT
: supportati come backend per i seguenti bilanciatori del carico: - NEG a livello di zona con endpoint
GCE_VM_IP
: supportati come backend per i seguenti bilanciatori del carico:
NEG con GCE_VM_IP
endpoint
I bilanciatori del carico di rete passthrough supportano i NEG a livello di zona con GCE_VM_IP
endpoint. Questi NEG di zona contengono uno o più endpoint rappresentati utilizzando l'indirizzo IPv4 interno primario dell'interfaccia di rete di una VM di Compute Engine.
Anche se Google Cloud utilizza un indirizzo IP per rappresentare l'endpoint,
lo scopo di un endpoint GCE_VM_IP
è identificare l'interfaccia di rete stessa. L'interfaccia di rete deve trovarsi nella subnet del NEG.
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.
NEG con GCE_VM_IP_PORT
endpoint
Questi NEG a livello di zona contengono una o più delle seguenti combinazioni di indirizzo IP o indirizzo IP e porta di destinazione:
- L'indirizzo IPv4 interno principale di un'interfaccia di rete VM
- L'indirizzo IPv4 interno principale di un'interfaccia di rete VM più un numero di porta di destinazione
- Un indirizzo IPv4 interno dell'intervallo di indirizzi IP alias assegnato all'interfaccia di rete di una VM
- Un indirizzo IPv4 interno dell'intervallo di indirizzi IP alias assegnato a un'interfaccia di rete VM più un numero di porta di destinazione
L'interfaccia di rete contenente l'endpoint GCE_VM_IP_PORT
deve trovarsi nella subnet del NEG. Se 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.
Poiché questi backend NEG a livello di zona consentono di specificare indirizzi IP e porte, puoi distribuire il traffico in modo granulare tra le applicazioni o i container in esecuzione all'interno di istanze VM, ovvero il bilanciamento del carico nativo del container.
GKE utilizza GCE_VM_IP_PORT
endpoint per:
Puoi creare bilanciatori del carico autogestiti che utilizzano NEG a livello di zona i cui endpoint GCE_VM_IP_PORT
sono gestiti da GKE. Per maggiori dettagli, consulta Bilanciamento del carico nativo del container tramite NEG autonomi a livello di zona.
I bilanciatori del carico delle applicazioni e i bilanciatori del carico di rete proxy supportano i NEG a livello di zona con endpoint GCE_VM_IP_PORT
.
Specifica endpoint
Quando crei un NEG, devi selezionare una zona, una rete e una subnet. Ogni indirizzo IP dell'endpoint deve essere nella stessa subnet del NEG a livello di zona.
Se la rete selezionata è una rete VPC in modalità automatica, puoi omettere specificare la subnet. Tuttavia, una subnet è ancora associata al NEG di zona. Se specifichi una rete VPC in modalità automatica ma non specifichi una subnet quando crei un NEG a livello di zona, la subnet che utilizza è quella creata automaticamente nella regione contenente la zona selezionata per il NEG a livello di zona.
Il tipo di NEG a livello di zona che crei viene specificato al momento della creazione del NEG
(GCE_VM_IP
o GCE_VM_IP_PORT
). Questo determina i tipi di endpoint
supportati dal NEG.
GCE_VM_IP_PORT
NEG a livello di zona
Quanto segue deve essere vero per GCE_VM_IP_PORT
NEG a livello di zona:
Devi specificare il nome di ogni endpoint VM.
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 dell'endpoint e porta può fare riferimento 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 nel NEG.
Ogni NEG supporta fino al numero massimo di endpoint per NEG. Gli endpoint possono essere distribuiti tra tutte queste VM uniche o tutti situati su una singola VM.
Per i NEG GCE_VM_IP_PORT
, quando aggiungi un endpoint, 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 l'indirizzo IP interno principale della VM nell'interfaccia di rete o un IP alias nell'interfaccia di rete. La porta spetta a te.
Se specifichi solo un indirizzo IP, l'indirizzo IP può essere l'indirizzo IP interno principale della VM nell'interfaccia di rete o un indirizzo IP alias nell'interfaccia di rete. La porta utilizzata è quella predefinita del NEG.
Se ometti entrambi, Google Cloud seleziona l'indirizzo IP interno principale della VM e utilizza la porta predefinita del NEG.
GCE_VM_IP
NEG a livello di zona
Quanto segue deve essere vero per GCE_VM_IP
NEG a livello di zona:
Devi specificare il nome di ogni endpoint VM.
Ogni VM endpoint deve trovarsi nella stessa zona del NEG.
Ogni endpoint in un NEG
GCE_VM_IP
deve essere un indirizzo IP univoco. Più di un NEG può fare riferimento a un indirizzo IP endpoint univoco.Ogni NEG
GCE_VM_IP
è sempre associato a una rete e a una subnet. Quando aggiungi un endpoint, puoi scegliere se specificare o meno un indirizzo IP. Se viene specificato un indirizzo IP, deve essere impostato sull'indirizzo IP interno principale dell'istanza VM collegata che corrisponde alla subnet del NEG. L'indirizzo IP interno primario da qualsiasi interfaccia di rete di un'istanza VM con più NIC può essere aggiunto a un NEG purché corrisponda alla subnet NEG.Ogni NEG supporta fino al numero massimo di endpoint per NEG. Gli endpoint devono essere distribuiti tra tutte le VM univoche. Non è possibile individuare più endpoint su una singola VM perché una VM non può avere più di un'interfaccia di rete associata alla stessa subnet.
Bilanciamento del carico con NEG a livello 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, anche tutti gli altri backend in quel servizio devono essere
NEG a livello di zona dello stesso tipo (tutti i GCE_VM_IP
o GCE_VM_IP_PORT
).
Non puoi utilizzare i gruppi di istanze e i 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 a livello di zona come backend per più di un servizio di backend.
GCE_VM_IP_PORT
NEG a livello di zona possono utilizzare la modalità di bilanciamento di RATE
o la modalità di bilanciamento di CONNECTION
, a seconda del protocollo del servizio di backend. I bilanciatori del carico supportati richiedono
la definizione di una capacità target.
GCE_VM_IP
NEG a livello di zona deve 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à target.
Bilanciatori del carico di rete passthrough
I NEG di zona con GCE_VM_IP
endpoint 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.
Consulta le sezioni seguenti per i casi d'uso principali per i NEG con endpoint GCE_VM_IP
.
Raggruppamento flessibile degli endpoint
Come per 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 ciascuno 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 solo di un singolo gruppo di istanze.
La figura seguente mostra un esempio di architettura del bilanciatore del carico di rete passthrough interno con una VM condivisa.
Interfacce non nic0
come endpoint di backend
I NEG di zona con GCE_VM_IP
endpoint consentono il bilanciamento del carico con le interfacce di rete non nic0
delle VM. Può essere utile durante l'integrazione con VM appliance di terze parti che in genere prenotano nic0
per le operazioni di gestione. Con i NEG GCE_VM_IP
, qualsiasi interfaccia di rete diversa da nic0
della stessa VM può essere collegata a un backend NEG di un bilanciatore del carico di rete passthrough.
Creazione secondaria di GKE
GKE utilizza NEG a livello di zona GCE_VM_IP
e impostazioni secondarie 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, composto dai nodi del cluster da 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 le risorse Ingress esterne che non utilizzano i NEG).
Con l'impostazione secondaria, GKE crea GCE_VM_IP
NEG a livello di zona per ogni servizio LoadBalancer interno. Lo stesso endpoint può essere membro
di più di un NEG a livello di zona. A differenza dei gruppi di istanze, Google Cloud può
bilanciare il carico su più NEG di zona contenenti lo stesso endpoint.
L'impostazione secondaria distribuisce in modo più efficiente il traffico ai servizi LoadBalancer interni in cluster con più di 250 nodi. Ad esempio, un cluster GKE di 300 nodi potrebbe avere un servizio LoadBalancer interno con 25 nodi in un NEG, perché per quel servizio esistono 25 pod di gestione. Non tutti i 300 nodi devono essere aggiunti al backend di un gruppo di istanze per questo servizio.
Tieni presente che si applicano comunque le quote per NEG, regole di forwarding, servizi di backend e altre risorse di networking di Google Cloud.
Per maggiori dettagli, vedi Utilizzo dell'impostazione secondaria del bilanciatore del carico di rete passthrough interno.
Bilanciatori del carico delle applicazioni e bilanciatori del carico di rete proxy
Le illustrazioni seguenti mostrano i componenti di configurazione per i bilanciatori del carico in cui i backend sono i backend NEG a livello di zona con GCE_VM_IP_PORT
endpoint:
Per saperne di più sui requisiti dell'architettura 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 a livello di zona GCE_VM_IP_PORT
è il bilanciamento del carico
nativo del container, che ti consente di 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é di VM.
L'esempio seguente mostra come i bilanciatori del carico distribuiscono il traffico tra i microservizi in esecuzione nei container sulle tue 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 NEG autonomi.
Kubernetes Ingress con NEG (consigliato)
Quando vengono utilizzati NEG con Ingress, il controller Ingress facilita la creazione di tutti gli aspetti di un bilanciatore del carico HTTP(S). Ciò include la creazione di indirizzo IP virtuale, regole di forwarding, controlli di integrità, regole firewall e altro ancora. Per scoprire come configurare questa impostazione, 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 dispone di molte funzionalità che semplificano la gestione dei NEG. In alternativa, puoi creare manualmente un bilanciatore del carico proxy ma continuare a gestire l'appartenenza all'endpoint del NEG di GKE, come descritto nel punto successivo (NEG autonomi).
Per istruzioni su come configurare un bilanciatore del carico tramite Ingress, consulta Bilanciamento del carico nativo del container tramite Ingress.
NEG autonomi
I NEG autonomi consentono al cluster GKE di creare NEG a livello di zona con endpoint
GCE_VM_IP_PORT
che rappresentano indirizzi IP dei pod e porte del container, offrendo al contempo la flessibilità di configurare i componenti del bilanciatore del carico al di fuori di GKE.Per esempi sull'utilizzo di NEG autonomi a livello di zona con GKE, consulta:
Limitazioni
- Non puoi utilizzare i NEG a livello di zona con reti legacy.
- Un servizio di backend che utilizza i NEG come backend non può usare anche i gruppi di istanze come backend.
Limitazioni per GCE_VM_IP
NEG a livello di zona:
- I NEG di zona con endpoint
GCE_VM_IP
sono supportati solo con bilanciatori del carico di rete passthrough interni e bilanciatori del carico di rete passthrough esterni. - La proprietà
default-port
non è supportata perGCE_VM_IP
NEG a livello di zona.
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 di NEG a livello di zona, consulta Configurare gruppi di endpoint di rete a livello di zona.
- Per informazioni sull'utilizzo dei NEG a livello di zona in Google Kubernetes Engine, consulta Bilanciamento del carico nativo del container tramite Ingress.