Panoramica dei gruppi di endpoint di rete a livello di zona

Un gruppo di endpoint di rete (NEG) è un oggetto di configurazione che specifica un gruppo di endpoint o servizi di backend. I NEG zonali sono risorse zonali che rappresentano raccolte di indirizzi IP o combinazioni di indirizzi IP e porte per le risorse Google Cloud all'interno di un'unica subnet.

I NEG sono utili perché ti consentono di creare raggruppamenti logici di indirizzi IP e porte che rappresentano servizi software anziché 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:

Esistono due tipi di NEG a livello di zona, a seconda del tipo di endpoint di rete che li compongono. I due tipi di NEG zonali supportano diversi casi d'uso e tipi di bilanciatori del carico.

NEG con GCE_VM_IP endpoint

I bilanciatori del carico di rete passthrough supportano i NEG di zona con endpoint GCE_VM_IP. Questi NEG di zona contengono uno o più endpoint rappresentati utilizzando l'indirizzo IPv4 interno principale dell'interfaccia di rete di una VM Compute Engine.

Anche se Google Cloud utilizza un indirizzo IP per rappresentare l'endpoint, 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 come backend solo nei servizi di backend per i bilanciatori del carico di rete passthrough interni e per i bilanciatori del carico di rete passthrough esterni.

NEG con GCE_VM_IP_PORT endpoint

Questi NEG 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 della VM
  • L'indirizzo IPv4 interno principale di un'interfaccia di rete della VM più un numero di porta di destinazione
  • Un indirizzo IPv4 interno dall'intervallo di indirizzi IP alias assegnato all'interfaccia di rete di una VM
  • Un indirizzo IPv4 interno dall'intervallo di indirizzi IP alias assegnato all'interfaccia di rete di una 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. 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.

Poiché questi backend NEG zonali 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 per i container. GKE utilizza gli endpoint GCE_VM_IP_PORT per:

Puoi creare bilanciatori del carico autogestiti che utilizzano NEG zonali i cui GCE_VM_IP_PORT endpoint sono gestiti da GKE. Per maggiori dettagli, consulta Bilanciamento del carico nativo del container tramite NEG a livello di zona standalone.

I bilanciatori del carico delle applicazioni e i bilanciatori del carico di rete proxy supportano i NEG di zona con endpointGCE_VM_IP_PORT.

Specifiche dell'endpoint

Quando crei un NEG, devi selezionare una zona, una rete e una subnet. Ogni indirizzo IP dell'endpoint deve trovarsi nella stessa subnet del NEG zonale.

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 durante la creazione di un NEG zonale, la subnet utilizzata è quella creata automaticamente nella regione che contiene la zona selezionata per il NEG zonale.

Il tipo di NEG zonale 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

Per i NEG a livello di zona GCE_VM_IP_PORT deve essere vero quanto segue:

  • 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 ed 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 nel NEG.

  • Ogni NEG supporta fino al numero massimo di endpoint per NEG. Gli endpoint possono essere distribuiti tra più VM univoche o tutti all'interno di 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 primario della VM sull'interfaccia di rete o un IP alias sull'interfaccia di rete. La porta è a tua scelta.

  • Se specifichi solo un indirizzo IP, questo può essere l'indirizzo IP interno primario della VM sull'interfaccia di rete o un indirizzo IP alias sull'interfaccia di rete. La porta utilizzata è la porta predefinita del NEG.

  • Se li 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

Per i NEG a livello di zona GCE_VM_IP deve essere vero quanto segue:

  • Devi specificare il nome di ogni endpoint VM.

  • Ogni VM endpoint deve trovarsi nella stessa zona del NEG.

  • Ogni endpoint in un GCE_VM_IP NEG deve essere un indirizzo IP univoco. A un indirizzo IP di endpoint univoco può fare riferimento più di un NEG.

  • Ogni NEG GCE_VM_IP è sempre associato a una rete e a una sottorete. 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 di qualsiasi interfaccia di rete di un'istanza VM con più NIC può essere aggiunto a un NEG purché corrisponda alla 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.

Bilanciamento del carico con NEG a livello di zona

I NEG zonali 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ù di un NEG zonale. Puoi utilizzare lo stesso NEG zonale come backend per più servizio di backend.

I NEG zonali GCE_VM_IP_PORT possono utilizzare la RATE modalità di bilanciamento o la CONNECTION modalità di bilanciamento, a seconda del protocollo del servizio di backend. I bilanciatori del carico supportati richiedono la definizione di una capacità target.

I NEG zonali GCE_VM_IP devono utilizzare la modalità di bilanciamento CONNECTION. Inoltre, i bilanciatori del carico di rete passthrough interni e esterni 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 esterni.

Consulta le sezioni seguenti per i casi d'uso principali dei 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'architettura di bilanciatore del carico di rete passthrough interno di esempio con una VM condivisa.

Bilanciatori del carico di rete passthrough interni con NEG di zona "GCE_VM_IP" sovrapposti.
Bilanciatori del carico di rete passthrough interni con NEG di zona sovrapposti (fai clic per ingrandire).

Interfacce diverse da nic0 come endpoint di backend

I NEG di zona con endpoint GCE_VM_IP consentono il bilanciamento del carico verso le interfacce di rete non nic0 delle VM. Questa opzione può essere utile per 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.

Sottoinsieme GKE

GKE utilizza GCE_VM_IP NEG di zona e sottoinsiemi per migliorare la scalabilità dei bilanciatori del carico di rete passthrough interni nel seguente modo:

Senza sottoinsiemi, GKE crea un gruppo di istanze non gestite per zona, composto dai nodi del cluster di tutti i pool di nodi della zona. Questi gruppi di istanze a livello di zona vengono utilizzati come backend per uno o più servizi di bilanciamento del carico interni (e per ingressi esterni che non utilizzano direttamente i 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ù NEG di zona. A differenza dei gruppi di istanze, Google Cloud può bilanciare il carico su più NEG zonali che contengono lo stesso endpoint.

La suddivisione in sottoinsiemi distribuisce in modo più efficiente il traffico ai servizi LoadBalancer interni nei 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é ci sono 25 pod di servizio per quel servizio. Non è necessario aggiungere tutti e 300 i nodi a un backend del gruppo di istanze per questo servizio.

Tieni presente che si applicano comunque le quote per i gruppi di elenchi di negazioni, le regole di inoltro, i servizi di backend e altre risorse di rete Google Cloud.

Per maggiori dettagli, consulta Utilizzare l'impostazione secondaria del bilanciatore del carico di rete passthrough interno.

Application Load Balancer e bilanciatori del carico di rete proxy

Le seguenti illustrazioni mostrano i componenti di configurazione per i bilanciatori del carico in cui i NEG a livello di zona con endpoint GCE_VM_IP_PORT sono i backend:

Gruppi di endpoint di rete a livello di zona nel bilanciamento del carico.
Gruppi di endpoint di rete a livello di zona nel bilanciamento del carico (fai clic per ingrandire).

Per saperne di più sui requisiti di architettura di questi bilanciatori del carico, consulta:

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 in container sulle VM. Le VM sono configurate per utilizzare intervalli IP alias delle relative subnet, che sono gli indirizzi utilizzati dai contenitori.

Bilanciamento del carico dei gruppi di endpoint di rete a livello di zona con i container.
Bilanciamento del carico dei gruppi di endpoint di rete zonali con i contenitori (fai clic per ingrandire).

Esistono due modi per configurare il bilanciamento del carico nativo del container: utilizzare i NEG gestiti da GKE Ingress o utilizzare NEG autonomi.

  • Ingress Kubernetes con NEG (opzione consigliata)

    Quando le NEG vengono utilizzate con Ingress, il controller Ingress semplifica la creazione di tutti gli aspetti di un bilanciatore del carico HTTP(S). Sono incluse la creazione dell'indirizzo IP virtuale, delle regole di inoltro, dei controlli di integrità, delle regole firewall e altro ancora. Per scoprire come configurare questa opzione, consulta Bilanciamento del carico nativo dei container tramite Ingress.

    Il traffico in entrata è il modo consigliato per utilizzare i NEG per il bilanciamento del carico nativo del container, poiché offre molte funzionalità che semplificano la gestione dei NEG. In alternativa, puoi creare un bilanciatore del carico proxy manualmente, ma lasciare che sia GKE a gestire l'appartenenza degli 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 del container tramite Ingress.

  • NEG autonomi

    I NEG autonomi consentono al tuo cluster GKE di creare NEG zonali con endpoint GCE_VM_IP_PORT che 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 zonali autonomi con GKE, consulta:

Limitazioni

  • Non puoi utilizzare i NEG zonali 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_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 per i NEG zonali GCE_VM_IP.

Quote

Passaggi successivi