Configurazione NEG a livello di zona

Questo documento contiene istruzioni per la configurazione di gruppi di endpoint di rete (NEG) a livello di zona. Prima di configurare i NEG a livello di zona, leggi Panoramica dei gruppi di endpoint di rete.

NEG a livello di zona con GCE_VM_IP endpoint

Possono essere utilizzati come backend per i servizi di backend nei bilanciatori del carico di rete passthrough interni e nei bilanciatori del carico di rete passthrough esterni. Per maggiori dettagli, consulta Panoramica dei NEG a livello di zona: bilanciamento del carico.

Per esempi end-to-end, consulta quanto segue:

NEG a livello di zona con GCE_VM_IP_PORT endpoint

Possono essere utilizzati come backend per i servizi di backend nei seguenti tipi di bilanciatori del carico:

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 tra i microservizi in esecuzione nei container sulle tue VM. 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.

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

Per istruzioni, vedi:

Configurazione di NEG a livello di zona

Il resto di questa pagina descrive come configurare i NEG a livello di zona prima o dopo aver già creato un bilanciatore del carico. Tieni presente che alcune di queste azioni non si applicano ai NEG a livello di zona creati e gestiti da Ingress.

Crea un gruppo di endpoint di rete a livello di zona

Console

Per creare un gruppo di endpoint di rete a livello di zona:

  1. Vai alla pagina Gruppi di endpoint di rete nella console Google Cloud.
    Vai alla pagina Gruppi di endpoint di rete
  2. Fai clic su Crea gruppo di endpoint di rete.
  3. Per Tipo di gruppo di endpoint di rete, seleziona Tipo di endpoint di rete: a livello di zona.
  4. Inserisci il Nome del gruppo di endpoint di rete.
  5. In Tipo di endpoint di rete, seleziona Gruppo di endpoint di rete (a livello di zona).
  6. Seleziona il tipo di endpoint in base al tipo di bilanciatore del carico che stai utilizzando.
  7. Seleziona la Rete.
  8. Seleziona la Subnet.
  9. Seleziona la Zona.
  10. Per gli inserzionisti a livello di zona solo con endpoint GCE_VM_IP_PORT, inserisci una porta predefinita.
  11. Fai clic su Crea.

gcloud

Crea un NEG a livello di zona GCE_VM_IP_PORT

gcloud compute network-endpoint-groups create NEG_NAME \
    --zone=ZONE \
    --network=NETWORK
    [--subnet=SUBNET]
    [--default-port=DEFAULT_PORT]

In questo comando, i flag sono definiti come segue:

  • NEG_NAME è il nome del nuovo gruppo di endpoint di rete. Il nome deve essere univoco all'interno della zona.
  • ZONE è il nome della zona in cui è stato creato il NEG.
  • NETWORK è il nome della rete in cui viene creato il NEG. Se omesso, Google Cloud utilizza una rete denominata default.
  • SUBNET è il nome della subnet a cui appartengono gli endpoint di rete. Questo flag è facoltativo se la rete è una rete VPC in modalità automatica. Se omesso, il NEG si trova nella subnet creata automaticamente dell'area geografica della zona selezionata. Il flag è obbligatorio se la rete è un VPC in modalità personalizzata o se devi specificare una subnet creata manualmente.
  • DEFAULT_PORT è la porta predefinita associata al NEG. Questo flag è facoltativo. Se omesso, tutti gli endpoint devono essere specificati tramite IP:porta. Se inclusa, la parte port può essere omessa dalla specifica dell'endpoint e si presume il valore della porta predefinita.

Crea un NEG a livello di zona GCE_VM_IP

Per creare un gruppo di endpoint di rete a livello di zona GCE_VM_IP, devi specificare network-endpoint-type come mostrato qui: gcloud compute network-endpoint-groups create

gcloud compute network-endpoint-groups create NEG_NAME \
    --network-endpoint-type=gce-vm-ip \
    --zone=ZONE \
    --network=NETWORK
    --subnet=SUBNET

In questo comando, i flag sono definiti come segue:

  • NEG_NAME è il nome del nuovo gruppo di endpoint di rete. Il nome deve essere univoco all'interno della zona.
  • ZONE è il nome della zona in cui è stato creato il NEG.
  • NETWORK è il nome della rete in cui viene creato il NEG.
  • SUBNET è il nome della subnet a cui appartengono gli endpoint di rete.

Aggiunta di endpoint a un gruppo di endpoint di rete

Console

Per aggiungere endpoint a un gruppo di endpoint di rete:

  1. Vai alla pagina Gruppi di endpoint di rete nella console Google Cloud.
    Vai alla pagina Gruppi di endpoint di rete
  2. Fai clic sul Nome del gruppo di endpoint di rete a cui vuoi aggiungere endpoint. Viene visualizzata la pagina Dettagli gruppo di endpoint di rete.
  3. Nella sezione Endpoint di rete in questo gruppo, fai clic su Aggiungi endpoint di rete. Viene visualizzata la pagina Aggiungi endpoint di rete.
  4. Seleziona un'istanza VM per aggiungere i relativi indirizzi IP interni come endpoint di rete e fai clic su Aggiungi. Vedrai l'interfaccia di rete, la zona, la subnet e l'indirizzo IP interno dell'interfaccia della VM assegnato all'endpoint.
  5. Per le esclusioni a livello di zona solo con endpoint GCE_VM_IP_PORT, segui questi passaggi:
    1. Inserisci l'indirizzo o l'intervallo IP del nuovo endpoint di rete.
    2. Seleziona il Tipo di porta.
    3. Se selezioni Predefinito, l'endpoint utilizza la porta predefinita per tutti gli endpoint nel gruppo di endpoint di rete.
    4. Se selezioni Personalizzato, inserisci il Numero di porta che verrà utilizzato dall'endpoint.
  6. Per aggiungere altri endpoint, fai clic su Aggiungi endpoint di rete e ripeti i passaggi 5 e 6.
  7. Dopo aver aggiunto tutti gli endpoint necessari, fai clic su Aggiungi.

gcloud

Per aggiungere endpoint a un gruppo di endpoint di rete:

gcloud compute network-endpoint-groups update NEG_NAME \
    --zone=ZONE \
    --add-endpoint 'instance=INSTANCE_NAME,[ip=IP_ADDRESS],[port=PORT]' \
    [--add-endpoint ...]

Sostituisci quanto segue:

  • NEG_NAME: il nome del NEG
  • ZONE: il nome della zona in cui si trova il NEG.
  • INSTANCE_NAME: il nome della VM a cui appartiene l'indirizzo IP.
  • IP_ADDRESS: un indirizzo IP facoltativo per l'endpoint di rete da aggiungere. Se ometti l'indirizzo IP, Google Cloud seleziona l'indirizzo IP interno principale dell'istanza VM che corrisponde alla subnet del NEG.
  • PORT: la porta dell'endpoint di rete che viene aggiunto. La porta è facoltativa se la porta predefinita è specificata nel NEG. Questo campo non è supportato per i NEG di zona con endpoint GCE_VM_IP.

Per maggiori dettagli, consulta Panoramica dei gruppi di endpoint di rete a livello di zona.

Ad esempio, per aggiungere endpoint a un NEG a livello di zona GCE_VM_IP_PORT:

gcloud compute network-endpoint-groups update my-lb-neg \
    --zone=asia-southeast1-a \
    --add-endpoint 'instance=my-vm1,ip=10.1.1.1,port=80'

Aggiunta di un NEG a livello di zona a un servizio di backend

Console

Per aggiungere un gruppo di endpoint di rete a un servizio di backend:

  1. Vai alla pagina Bilanciamento del carico nella console Google Cloud.
    Vai alla pagina Bilanciamento del carico
  2. Fai clic sul nome del bilanciatore del carico di cui vuoi modificare il servizio di backend.
  3. Nella pagina Dettagli bilanciatore del carico, fai clic su Modifica .
  4. Nella pagina Modifica bilanciatore del carico, fai clic su Configurazione backend.
  5. Nella pagina Configurazione backend, fai clic su Modifica .
  6. Fai clic su +Aggiungi backend.
  7. Seleziona un Gruppo di endpoint di rete a livello di zona e fai clic su Fine.
  8. Fai clic su Update (Aggiorna).

gcloud

Per aggiungere un NEG a un servizio di backend:

gcloud compute backend-services add-backend BACKEND_SERVICE \
     --network-endpoint-group=NETWORK_ENDPOINT_GROUP \
     --network-endpoint-group-zone=ZONE

Ad esempio, per aggiungere un NEG a livello di zona GCE_VM_IP_PORT a un servizio di backend:

gcloud compute backend-services add-backend my-lb \
   --network-endpoint-group my-lb-neg \
   --network-endpoint-group-zone=asia-southeast1-a \
   --global \
   --balancing-mode=RATE \
   --max-rate-per-endpoint=5

Rimozione di un NEG da un servizio di backend

Console

  1. Vai alla pagina Bilanciamento del carico nella console Google Cloud.
    Vai alla pagina Bilanciamento del carico
  2. Fai clic sul nome del bilanciatore del carico di cui vuoi modificare il servizio di backend.
  3. Nella pagina Dettagli bilanciatore del carico, fai clic su Modifica .
  4. Nella pagina Modifica bilanciatore del carico, fai clic su Configurazione backend.
  5. Nella pagina Configurazione backend, fai clic su Modifica per il servizio di backend da cui stai rimuovendo il NEG.
  6. Nella sezione Backend, individua il NEG che vuoi rimuovere e fai clic sull'icona del cestino per quel NEG.
  7. Fai clic su Update (Aggiorna).

gcloud

Per rimuovere un NEG da un servizio di backend:

gcloud compute backend-services remove-backend BACKEND_SERVICE \
    --network-endpoint-group=NETWORK_ENDPOINT_GROUP \
    --network-endpoint-group-zone=NETWORK_ENDPOINT_GROUP_ZONE

Ad esempio:

gcloud compute backend-services remove-backend my-lb \
    --network-endpoint-group=my-lb-neg \
    --network-endpoint-group-zone=asia-southeast1-a

Rimozione degli endpoint da un gruppo di endpoint di rete

Quando un endpoint di rete viene rimosso da un NEG di bilanciamento del carico, attiva lo svuotamento della connessione in base ai parametri di svuotamento specificati nel servizio di backend. Se più servizi di backend fanno riferimento allo stesso NEG, viene applicato l'intervallo di svuotamento massimo in tutti i servizi di backend.

Console

Per rimuovere gli endpoint da un gruppo di endpoint di rete:

  1. Vai alla pagina Gruppi di endpoint di rete nella console Google Cloud.
    Vai alla pagina Gruppi di endpoint di rete
  2. Fai clic sul Nome del gruppo di endpoint di rete da cui vuoi eliminare gli endpoint. Viene visualizzata la pagina Dettagli gruppo di endpoint di rete.
  3. Seleziona gli endpoint di rete che vuoi eliminare e fai clic su Rimuovi endpoint.

gcloud

Per rimuovere gli endpoint da un gruppo di endpoint di rete:

gcloud compute network-endpoint-groups update NEG_NAME \
--zone=ZONE \
--remove-endpoint 'instance=INSTANCE_NAME,[ip=IP],[port=PORT]' \
[--remove-endpoint ...]

Ad esempio, per rimuovere un endpoint da un NEG a livello di zona GCE_VM_IP_PORT:

gcloud compute network-endpoint-groups update my-lb-neg \
     --remove-endpoint 'instance=my-vm1,ip=10.1.1.1,port=80' \
     --zone=asia-southeast1-a

Elenco dei gruppi di endpoint di rete

Console

Per visualizzare un elenco di gruppi di endpoint di rete, vai alla pagina Gruppi di endpoint di rete nella console Google Cloud.
Vai alla pagina Gruppi di endpoint di rete

gcloud

Per elencare i gruppi di endpoint di rete:

gcloud compute network-endpoint-groups list

Descrizione di un gruppo di endpoint di rete specifico

Console

Per ottenere i dettagli di un gruppo di endpoint di rete specifico:

  1. Vai alla pagina Gruppi di endpoint di rete nella console Google Cloud.
    Vai alla pagina Gruppi di endpoint di rete
  2. Fai clic sul nome del gruppo di endpoint di rete di cui vuoi visualizzare i dettagli.

gcloud

Per ottenere i dettagli di un gruppo di endpoint di rete specifico:

gcloud compute network-endpoint-groups describe NEG_NAME \
    --zone=ZONE

Sostituisci quanto segue:

  • NEG_NAME: il nome del gruppo di endpoint di rete
  • ZONE: il nome facoltativo della zona in cui è stato creato il NEG.

Ad esempio, il seguente comando gcloud elenca informazioni sul gruppo di endpoint di rete my-lb-neg.

gcloud compute network-endpoint-groups describe my-lb-neg \
    --zone=asia-southeast1-a

L'output del comando è il seguente:

    creationTimestamp: '2018-04-09T14:51:34.381-07:00'
    id: '5260475207627726473'
    kind: compute#networkEndpointGroup
    loadBalancer:
      defaultPort: 80
      network: https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/networks/default
      zone: https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/asia-southeast1-a

Rimozione dei gruppi di endpoint di rete

Un gruppo di endpoint di rete non può essere eliminato se è associato a un servizio di backend. Prima di eliminare un NEG, assicurati che sia scollegato dal servizio di backend.

L'eliminazione di una VM provoca immediatamente la rimozione di tutti gli endpoint di rete sulla VM dal NEG, chiudendo tutte le connessioni. L'eliminazione di un NEG dopo l'eliminazione di un servizio di backend rimuove anche tutti gli endpoint in quel NEG senza svuotamento della connessione.

Console

Per rimuovere un gruppo di endpoint di rete da un servizio di backend:

  1. Vai alla pagina Bilanciamento del carico nella console Google Cloud.
    Vai alla pagina Bilanciamento del carico
  2. Fai clic sul nome del bilanciatore del carico di cui vuoi modificare il servizio di backend.
  3. Nella pagina Dettagli bilanciatore del carico, fai clic su Modifica .
  4. Nella pagina Modifica bilanciatore del carico, fai clic su Configurazione backend.
  5. Nella pagina Configurazione backend, fai clic su Modifica per il servizio di backend da cui stai rimuovendo il NEG.
  6. Nella sezione Backend, individua il NEG che vuoi rimuovere e fai clic sull'icona del cestino per quel NEG.
  7. Fai clic su Update (Aggiorna).

Per eliminare un gruppo di endpoint di rete:

  1. Vai alla pagina Gruppi di endpoint di rete nella console Google Cloud.
    Vai alla pagina Gruppi di endpoint di rete
  2. Individua il gruppo di endpoint di rete che vuoi eliminare.
  3. Fai clic sull'icona del cestino in quella riga.

gcloud

Per rimuovere un gruppo di endpoint di rete da un servizio di backend:

gcloud compute backend-services remove-backend BACKEND_SERVICE \
     --network-endpoint-group=NETWORK_ENDPOINT_GROUP \
     --network-endpoint-group-zone=ZONE

Per eliminare un gruppo di endpoint di rete:

gcloud compute network-endpoint-groups delete NEG_NAME \
    --zone=ZONE

Ad esempio:

gcloud compute backend-services remove-backend my-neg-backend \
    --network-endpoint-group=my-lb-neg \
    --network-endpoint-group-zone=southeast1-a
gcloud compute network-endpoint-groups delete my-lb-neg \
    --zone=asia-southeast1-a

Elenco degli endpoint in un gruppo di endpoint di rete

Console

Per visualizzare un elenco di endpoint in un gruppo di endpoint di rete:

  1. Vai alla pagina Gruppi di endpoint di rete nella console Google Cloud.
    Vai alla pagina Gruppi di endpoint di rete
  2. Fai clic sul Nome del gruppo di endpoint di rete da cui vuoi eliminare gli endpoint. Viene visualizzata la pagina Dettagli gruppo di endpoint di rete, in cui sono elencati gli endpoint per il gruppo di endpoint.
  3. Per filtrare gli endpoint, crea coppie chiave-valore nel campo di testo in Endpoint di rete in questo gruppo.

gcloud

Per elencare tutti gli endpoint di rete in un gruppo di endpoint di rete:

gcloud compute network-endpoint-groups list-network-endpoints NEG_NAME \
     --zone=ZONE

Filtro personalizzato per l'elenco di endpoint in un gruppo di endpoint di rete

Puoi utilizzare un filtro personalizzato per limitare gli endpoint in un gruppo di endpoint di rete. Il filtro personalizzato è abilitato solo per l'API REST. Non puoi utilizzare filtri personalizzati della console Google Cloud o utilizzare l'interfaccia a riga di comando gcloud.

Per maggiori dettagli, consulta la documentazione per il metodo networkEndpointGroups.listNetworkEndpoints.

Endpoint di rete con controllo di integrità

I servizi di backend con backend NEG a livello di zona devono utilizzare un controllo di integrità la cui specifica della porta sia:

  • una porta fissa (numerata) (--port)
  • configurato in modo da utilizzare la porta di gestione dell'endpoint di rete (--use-serving-port)

L'esempio che segue crea un controllo di integrità HTTP che utilizza la porta di gestione dell'endpoint di rete con il flag --use-serving-port. Tieni presente che il flag --use-serving-port è implementato con gcloud compute health-checks create, ma non con gcloud compute health-checks update.

gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME
    --use-serving-port

Non puoi utilizzare un controllo di integrità legacy con un backend NEG a livello di zona. Per maggiori informazioni, consulta la sezione Concetti sul controllo di integrità.