Configurazione NEG a livello di zona

Questo documento contiene le istruzioni per configurare 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 utilizzate come backend per i servizi di backend in bilanciatori del carico di rete passthrough interni e 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 utilizzate come backend per i servizi di backend nei seguenti tipi di bilanciatori del carico:

Il caso d'uso principale per GCE_VM_IP_PORT NEG a livello di zona è il bilanciamento del carico nativo del container, che 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 di distribuzione del carico a livello di pod anziché a livello di VM.

Esistono due modi per configurare il bilanciamento del carico nativo del container: utilizzare NEG gestiti da GKE Ingress o 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 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. Solo per neg a livello di zona 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 viene 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 risiede nella subnet creata automaticamente della regione 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 viene utilizzata la 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 viene 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 del 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 VM assegnato all'endpoint.
  5. Solo per neg a livello di zona con endpoint GCE_VM_IP_PORT, esegui questi passaggi:
    1. Inserisci l'indirizzo o l'intervallo IP del nuovo endpoint di rete.
    2. Seleziona il Tipo di porta.
    3. Se selezioni Predefinita, l'endpoint utilizza la porta predefinita per tutti gli endpoint nel gruppo di endpoint di rete.
    4. Se selezioni Personalizzato, inserisci il Numero porta dell'endpoint da utilizzare.
  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 di cui hai bisogno, 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: indirizzo IP facoltativo per l'endpoint di rete che viene aggiunto. 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 da aggiungere. La porta è facoltativa se nel NEG è specificata una porta predefinita. Questo campo non è supportato per i NEG a livello 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 GCE_VM_IP_PORT a livello di zona:

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 del 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 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 GCE_VM_IP_PORT a livello di zona 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 del 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 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 tra 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 GCE_VM_IP_PORT a livello di zona:

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 dei 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 specifico di endpoint di rete

Console

Per ottenere i dettagli di un gruppo specifico 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 di cui vuoi visualizzare i dettagli.

gcloud

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

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 le 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

Impossibile eliminare un gruppo di endpoint di rete se è collegato a un servizio di backend. Prima di eliminare un NEG, assicurati che sia scollegato dal servizio di backend.

L'eliminazione di una VM comporta la rimozione immediata di tutti gli endpoint di rete sulla VM dal NEG, la chiusura di 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 del 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 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 nella 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 del 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

Filtri personalizzati quando elenchi gli endpoint in un gruppo di endpoint di rete

Puoi utilizzare un filtro personalizzato per limitare gli endpoint elencati in un gruppo di endpoint di rete. I filtri personalizzati sono abilitati solo per l'API REST. Non puoi utilizzare filtri personalizzati dalla console Google Cloud o tramite l'interfaccia a riga di comando gcloud.

Per maggiori dettagli, consulta la documentazione relativa al metodo networkEndpointGroups.listNetworkEndpoints.

Controllo di integrità degli endpoint di rete

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 per 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 viene 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 ulteriori informazioni, consulta la sezione Concetti sul controllo di integrità.