Registra un bilanciatore del carico interno

Questa pagina fornisce informazioni su come configurare un bilanciatore del carico di rete passthrough interno o un bilanciatore del carico delle applicazioni interno (anteprima) 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 Service Directory esistenti a tua scelta. Le applicazioni client possono quindi utilizzare Service Directory (tramite HTTP o gRPC) e/o DNS (se hai creato una zona DNS di Service Directory) per risolvere l'indirizzo del servizio di bilanciamento del carico interno e connettersi direttamente.

Limitazioni

L'integrazione di Service Directory con il bilanciamento del carico interno presenta le seguenti limitazioni:

  • La registrazione automatica si applica solo ai bilanciatori del carico interni e di rete. Puoi registrare i servizi di bilanciamento del carico di Google Kubernetes Engine utilizzando l'integrazione GKE. Puoi registrare bilanciatori del carico globali e ingress e gateway Google Kubernetes Engine chiamando l'API Service Directory.
  • Puoi utilizzare la registrazione automatica solo al momento della creazione regola di forwarding. La registrazione automatica tramite l'aggiornamento di Google Cloud CLI per una regola di forwarding già esistente non è disponibile.
  • Puoi registrare i bilanciatori del carico interni in Service Directory nei progetti host o di servizio di una configurazione di rete VPC condivisa. Tuttavia, tutti i componenti di bilanciamento del carico e i backend devono esistere nello stesso progetto. Per maggiori dettagli, consulta le limitazioni del bilanciamento del carico interno.
  • Service Directory non fornisce connettività, il che significa che, sebbene Service Directory memorizzi l'indirizzo IP virtuale del bilanciatore del carico interno, la ricerca del bilanciatore del carico interno in Service Directory non garantisce che tu possa connetterti all'indirizzo IP virtuale.

Prima di iniziare

Queste istruzioni richiedono quanto segue:

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

    Lo spazio dei nomi e il servizio Service Directory devono trovarsi nello stesso progetto e nella stessa regione della regola di forwarding del bilanciatore del carico interno che stai creando.

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

Configura le regole di forwarding per registrare un bilanciatore del carico interno in Service Directory

Devi configurare una regola di forwarding per registrare il bilanciatore del carico interno in Service Directory. Per registrare un bilanciatore del carico di rete passthrough interno o un bilanciatore del carico delle applicazioni interno, consulta le sezioni seguenti.

Registra un bilanciatore del carico di rete passthrough interno

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

gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
    --region=REGION \
    --load-balancing-scheme=INTERNAL \
    --network=NETWORK_NAME \
    --subnet=SUBNET_NAME \
    --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
  • NETWORK_NAME: la rete a cui si applica questa regola di forwarding
  • SUBNET_NAME: la subnet a cui si applica questa regola di forwardingo
  • RESERVED_IP_ADDRESS: l'indirizzo IP a cui viene indirizzata la regola di forwarding
  • PROTOCOL_TYPE: il protocollo IP che verrà utilizzato dalla regola
  • PORT_NUMBER: un elenco di porte separate da virgole
  • BACKEND_SERVICE_NAME: 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. Deve trovarsi nello stesso progetto e nella stessa regione della regola di forwarding che viene creata. Ad esempio: projects/PROJECT/locations/REGION/namespaces/NAMESPACE_NAME/services/SERVICE_NAME.

Registra un bilanciatore del carico delle applicazioni interno

Per registrare un bilanciatore del carico delle applicazioni interno regionale, esegui il comando gcloud compute forwarding-rules create e imposta il flag service-directory-registration:

gcloud beta compute forwarding-rules create FORWARDING_RULE_NAME \
    --region=REGION \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --network=NETWORK_NAME \
    --address=RESERVED_IP_ADDRESS \
    --target-https-proxy=PROXY_NAME \
    --target-https-proxy-region=PROXY_REGION \
    --ports=PORT_NUMBER \
    --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
  • NETWORK_NAME: la rete a cui si applica questa regola di forwarding
  • RESERVED_IP_ADDRESS: l'indirizzo IP a cui viene indirizzata la regola di forwarding
  • PROXY_NAME: il proxy di destinazione che riceve il traffico
  • PROXY_REGION: la regione del proxy su cui operare
  • PORT_NUMBER: un elenco di porte separate da virgole
  • 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 viene creata. Ad esempio: projects/PROJECT/locations/REGION/namespaces/NAMESPACE_NAME/services/SERVICE_NAME.

Verificare l'endpoint

Uno o più endpoint Service Directory creati durante la registrazione di un bilanciatore del carico interno 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 Service Directory viene registrato con la porta 0. Se sei il proprietario del bilanciatore del carico interno, devi assicurarti che il chiamante API sappia a quale porta connettersi.
  • Non puoi modificare o eliminare l'endpoint utilizzando l'API Service Directory pubblica. Solo quando elimini la regola di forwarding, l'endpoint viene eliminato automaticamente. Ciò significa che non puoi eliminare il servizio e lo spazio dei nomi in cui si trova l'endpoint mentre esiste la regola di forwarding.
  • L'endpoint stesso non viene fatturato, anche se i normali dettagli dei prezzi si applicano a qualsiasi chiamata API all'endpoint.

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

Per risolvere il servizio in Service Directory:

gcloud

Esegui il comando gcloud service-directory services resolve:

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 Service Directory.
  • SD_NAMESPACE_NAME: il nome che hai assegnato allo spazio dei nomi contenente il tuo servizio.
  • REGION: la regione Trusted Cloud contenente lo spazio dei nomi. Deve corrispondere alla regione in cui hai creato la regola di forwarding.

(Facoltativo) Crea una zona Service Directory utilizzando Cloud DNS

Puoi risolvere gli endpoint Service Directory registrati tramite questa integrazione utilizzando DNS come qualsiasi altro endpoint Service Directory. Per creare una zona Service Directory utilizzando Cloud DNS, consulta Configurazione di una zona Service Directory.

Per verificare che la zona sia configurata correttamente, puoi eseguire una query DNS della zona Service Directory. Per istruzioni su come eseguire query utilizzando DNS, consulta Esecuzione di query utilizzando DNS. Se la zona è configurata correttamente, dovresti vedere l'indirizzo IP del bilanciamento del carico interno nell'output del comando.

Esegui la pulizia

Per eliminare le risorse che hai creato:

gcloud

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

    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, vedi Eliminare una regola di inoltro.

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

  2. Per eliminare la zona, se ne hai creata una, segui le istruzioni riportate in Eliminare una zona gestita.

  3. Per eliminare lo spazio dei nomi e il servizio Service Directory, consulta Eliminazione delle risorse.

Passaggi successivi