Registra un bilanciatore del carico di rete passthrough esterno

Questa pagina fornisce informazioni su come configurare un bilanciatore del carico di rete passthrough esterno in modo che venga registrato automaticamente in Service Directory.

Quando crei il bilanciatore del carico, puoi registrarlo come endpoint in un servizio e uno spazio dei nomi di Service Directory esistenti a tua scelta. Le applicazioni client possono quindi utilizzare Service Directory (tramite HTTP o gRPC) per risolvere l'indirizzo del servizio del bilanciatore del carico di rete passthrough esterno e connettersi direttamente.

Limitazioni

L'integrazione di Service Directory con i bilanciatori del carico di rete passthrough esterni presenta le seguenti limitazioni:

  • La registrazione automatica supporta solo i bilanciatori del carico esterni di livello 4. Puoi registrare i servizi di bilanciamento del carico di Google Kubernetes Engine utilizzando l' integrazione di GKE. Puoi registrare altri bilanciatori del carico esterni, bilanciatori del carico globali, ingress e gateway di Google Kubernetes Engine chiamando l'API Service Directory.
  • Puoi utilizzare la registrazione automatica solo al momento della creazione della regola di forwarding. La registrazione automatica tramite l'aggiornamento di Google Cloud CLI per una regola di forwarding già esistente non è disponibile.
  • Service Directory non fornisce connettività, il che significa che, sebbene Service Directory memorizzi l'indirizzo IP virtuale del bilanciatore del carico di rete passthrough esterno, la ricerca del bilanciatore del carico di rete passthrough esterno in Service Directory non garantisce la possibilità di connettersi all'indirizzo IP virtuale.

Prima di iniziare

Queste istruzioni richiedono quanto segue:

  • Devi già avere un servizio e uno spazio dei nomi di Service Directory. In caso contrario, crea un servizio e uno spazio dei nomi utilizzando la procedura descritta in Configurare Service Directory.

    Il servizio e lo spazio dei nomi di Service Directory devono trovarsi nello stesso progetto e nella stessa regione della regola di forwarding del bilanciatore del carico di rete passthrough esterno che stai creando.

  • Devi aver già configurato le risorse necessarie per creare una regola di forwarding del bilanciatore del carico di rete passthrough esterno.

    Per informazioni su come creare un bilanciatore del carico di rete passthrough esterno, consulta Configurare un bilanciatore del carico di rete passthrough esterno.

Configurare le regole di forwarding per registrare un bilanciatore del carico di rete passthrough esterno in Service Directory

Devi configurare una regola di forwarding per registrare il bilanciatore del carico di rete passthrough esterno in Service Directory. Per registrare un bilanciatore del carico di rete passthrough esterno, consulta la sezione seguente.

Registrare un bilanciatore del carico di rete passthrough esterno

Per registrare un bilanciatore del carico di rete passthrough esterno regionale, esegui il gcloud compute forwarding-rules create comando e imposta il service-directory-registration flag:

gcloud beta compute forwarding-rules create FORWARDING_RULE_NAME \
    --region=REGION \
    --load-balancing-scheme=EXTERNAL \
    --address=RESERVED_IP_ADDRESS \
    --ip-protocol=PROTOCOL_TYPE \
    --ports=PORT_NUMBER \
    --backend-service=BACKEND_SERVICE_NAME \
    --backend-service-region=REGION \
    --service-directory-registration=SD_SERVICE_NAME

Sostituisci quanto segue:

  • FORWARDING_RULE_NAME: un nome per la regola di forwarding che vuoi creare
  • REGION: la regione in cui creare la regola di forwarding
  • RESERVED_IP_ADDRESS: l'indirizzo IP gestito dalla regola di forwarding.
  • PROTOCOL_TYPE: il protocollo IP che la regola deve gestire
  • PORT_NUMBER: un elenco di porte separate da virgole
  • BACKEND_SERVICE_NAME: il servizio di backend di destinazione che riceve il traffico
  • SD_SERVICE_NAME: il nome completo del servizio Service Directory in cui vuoi registrare l'endpoint. Questo servizio deve trovarsi nello stesso progetto e nella stessa regione della regola di forwarding che stai creando. Ad esempio: projects/PROJECT/locations/REGION/namespaces/NAMESPACE_NAME/services/SERVICE_NAME.

Verificare l'endpoint

Gli endpoint di Service Directory creati quando registri un bilanciatore del carico di rete passthrough esterno hanno le seguenti caratteristiche:

  • L'endpoint ha lo stesso nome della regola di forwarding con il numero di porta specificato (<forwarding rule name>-<port>). Ad esempio, se crei una regola di forwarding RULE con --port=8080, ottieni un endpoint chiamato RULE-8080. Per la stessa regola, se hai specificato due porte --port=8080, 8081, ottieni due endpoint, RULE-8080 e RULE-8081. Se specifichi --port=ALL, l'endpoint di Service Directory viene registrato con la porta 0. Se sei il proprietario del bilanciatore del carico di rete passthrough esterno, devi assicurarti che il chiamante dell'API sappia a quale porta connettersi.
  • Non puoi modificare o eliminare l'endpoint utilizzando l'API Service Directory pubblica. L'endpoint viene eliminato automaticamente solo quando elimini la regola di forwarding. Ciò significa che non puoi eliminare il servizio e lo spazio dei nomi in cui si trova l'endpoint mentre la regola di forwarding esiste.
  • L'endpoint stesso non viene fatturato, anche se i dettagli dei prezzi normali si applicano a tutte le chiamate API all'endpoint.

Per verificare che l'endpoint sia stato creato, risolvi il servizio in Service Directory. Dovresti vedere un endpoint con lo stesso nome della regola di forwarding con il numero di porta specificato.

Per risolvere il servizio in Service Directory, esegui il gcloud service-directory services resolve comando:

gcloud service-directory services resolve SD_SERVICE_NAME \
    --namespace=SD_NAMESPACE_NAME \
    --location=REGION

Sostituisci quanto segue:

  • SD_SERVICE_NAME: il nome del servizio Service Directory da risolvere. Deve trovarsi nel nome dello spazio dei nomi di Service Directory.
  • SD_NAMESPACE_NAME: il nome che hai assegnato allo spazio dei nomi contenente il servizio.
  • REGION: la Google Cloud regione che contiene lo spazio dei nomi. Deve essere la stessa regione in cui hai creato la regola di forwarding.

Esegui la pulizia

Per eliminare le risorse che hai creato, segui questi passaggi.

  1. Per eliminare la regola di forwarding, esegui il gcloud compute forwarding-rules delete comando:

    gcloud compute forwarding-rules delete FORWARDING_RULE_NAME \
      --region=REGION
    

    Sostituisci quanto segue:

    • FORWARDING_RULE_NAME: il nome della regola di forwarding che hai creato
    • REGION: la regione per la regola di forwarding

    Per ulteriori dettagli, consulta Eliminare una regola di forwarding rule.

    Per verificare che l'eliminazione della regola di forwarding abbia eliminato automaticamente l' endpoint da Service Directory, esegui il gcloud service-directory services resolve comando descritto nella sezione Verificare l'endpoint del servizio Service Directory.

  2. Per eliminare il servizio e lo spazio dei nomi di Service Directory, consulta Eliminare le risorse.

Passaggi successivi