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 (utilizzando HTTP o gRPC) e/o DNS (se hai creato una zona DNS di Service Directory) per risolvere l'indirizzo del servizio del bilanciatore 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, ingressi e gateway di Google Kubernetes Engine chiamando l'API Service Directory.
- Puoi utilizzare la registrazione automatica solo al momento della creazione della regola di inoltro. La registrazione automatica mediante l'aggiornamento di Google Cloud CLI per una regola di inoltro 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 e i backend del bilanciamento del carico 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, anche se Service Directory memorizza l'indirizzo IP virtuale del bilanciatore del carico interno, la ricerca del bilanciatore del carico interno in Service Directory non garantisce che puoi 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 inoltro del bilanciatore del carico interno che stai creando.
Devi aver già configurato le risorse necessarie per creare una regola di inoltro del bilanciatore del carico interno.
- Per informazioni su come creare un bilanciatore del carico di rete passthrough interno, consulta Configurare un bilanciatore del carico di rete passthrough interno.
- Per informazioni su come creare un bilanciatore del carico delle applicazioni interno, consulta Configurare un bilanciatore del carico delle applicazioni interno.
Configurare le regole di inoltro per registrare un bilanciatore del carico interno in Service Directory
Devi configurare una regola di inoltro 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 inoltro che vuoi creareREGION
: la regione in cui creare la regola di inoltroNETWORK_NAME
: la rete a cui si applica questa regola di inoltroSUBNET_NAME
: la sottorete a cui si applica questa regola di inoltroRESERVED_IP_ADDRESS
: l'indirizzo IP a cui si applica la regola di inoltroPROTOCOL_TYPE
: il protocollo IP che verrà utilizzato dalla regolaPORT_NUMBER
: un elenco di porte separate da virgoleBACKEND_SERVICE_NAME
: servizio di backend di destinazione che riceve il trafficoSD_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 inoltro in fase di creazione. 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 inoltro che vuoi creareREGION
: la regione in cui creare la regola di inoltroNETWORK_NAME
: la rete a cui si applica questa regola di inoltroRESERVED_IP_ADDRESS
: l'indirizzo IP a cui si applica la regola di inoltroPROXY_NAME
: il proxy target che riceve il trafficoPROXY_REGION
: la regione del proxy su cui operarePORT_NUMBER
: un elenco di porte separate da virgoleSD_SERVICE_NAME
: il nome completo del servizio Directory dei servizi in cui vuoi registrare l'endpoint. Questo servizio deve trovarsi nello stesso progetto e nella stessa regione della regola di inoltro in fase di creazione. Ad esempio: projects/PROJECT
/locations/REGION
/namespaces/NAMESPACE_NAME
/services/SERVICE_NAME
.
Verificare l'endpoint
Uno o più endpoint Service Directory creati quando registri un bilanciatore del carico interno hanno le seguenti caratteristiche:
- L'endpoint ha lo stesso nome della regola di inoltro con il numero di porta specificato (
<forwarding rule name>-<port>
). Ad esempio, se crei una regola di inoltroRULE
con--port=8080
, ottieni un endpoint denominatoRULE-8080
. Per la stessa regola, se hai specificato due porte--port=8080, 8081
, ottieni due endpoint,RULE-8080
eRULE-8081
. Se specifichi--port=ALL
, l'endpoint di Service Directory è registrato con la porta0
. Se sei il proprietario del bilanciatore del carico interno, devi assicurarti che chi chiama l'API sappia su quale porta connettersi. - Non puoi modificare o eliminare l'endpoint utilizzando l'API Directory Service pubblica. L'endpoint viene eliminato automaticamente solo quando elimini la regola di inoltro. Ciò significa che non puoi eliminare il servizio e lo spazio dei nomi in cui risiede l'endpoint finché esiste la regola di inoltro.
- L'endpoint stesso non viene fatturato, anche se a qualsiasi chiamata API all'endpoint si applicano i normali dettagli dei prezzi.
Per confermare che l'endpoint è stato creato, risolvi il servizio in Service Directory. Dovresti vedere un endpoint con lo stesso nome della regola di inoltro 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 di Service Directory.SD_NAMESPACE_NAME
: il nome assegnato allo spazio dei nomi contenente il servizio.REGION
: la Google Cloud regione contenente lo spazio dei nomi. Deve corrispondere alla regione in cui hai creato la regola di inoltro.
(Facoltativo) Crea una zona di Service Directory utilizzando Cloud DNS
Puoi risolvere gli endpoint Service Directory registrati tramite questa integrazione utilizzando il 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 il DNS, consulta Eseguire query utilizzando il DNS. Se la zona è configurata correttamente, dovresti vedere l'indirizzo IP del bilanciatore del carico interno nell'output del comando.
Esegui la pulizia
Per eliminare le risorse che hai creato:
gcloud
Per eliminare la regola di inoltro, 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 inoltro che hai creatoREGION
: la regione per la regola di inoltro
Per ulteriori dettagli, vedi Eliminare una regola di inoltro.
Per verificare che l'eliminazione della regola di inoltro abbia eliminato automaticamente l'endpoint da Service Directory, esegui il comando
gcloud service-directory services resolve
descritto nella sezione Verifica dell'endpoint nel servizio Service Directory.Per eliminare la zona, se ne hai creata una, segui le istruzioni riportate in Eliminare una zona gestita.
Per eliminare lo spazio dei nomi e il servizio Service Directory, consulta Eliminare le risorse.
Passaggi successivi
- Per una panoramica di Service Directory, consulta la panoramica di Service Directory.
- Per trovare soluzioni ai problemi comuni che potresti riscontrare durante l'utilizzo di Service Directory, consulta la sezione Risoluzione dei problemi.