Questa pagina fornisce informazioni su come configurare un bilanciatore del carico di rete passthrough esterno regionale 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) per risolvere l'indirizzo del servizio bilanciatore del carico di rete passthrough esterno regionale e connettersi direttamente.
Limitazioni
L'integrazione di Service Directory con i bilanciatori del carico di rete passthrough esterni regionali presenta le seguenti limitazioni:
- La registrazione automatica supporta solo i bilanciatori del carico di livello 4 esterni. Puoi registrare i servizi di bilanciamento del carico Google Kubernetes Engine utilizzando l'integrazione GKE. Puoi registrare altri bilanciatori del carico esterni, 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 della regola di forwarding. La registrazione automatica utilizzando l'aggiornamento di Google Cloud CLI per una regola di forwarding già esistente non è disponibile.
- Service Directory non fornisce connettività, il che significa che, anche se Service Directory memorizza l'indirizzo IP virtuale del bilanciatore del carico di rete passthrough esterno regionale, la ricerca del bilanciatore del carico di rete passthrough esterno regionale 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 Configurare 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 di rete passthrough esterno regionale che stai creando.
Devi aver già configurato le risorse necessarie per creare una regola di forwarding del bilanciatore del carico di rete passthrough esterno regionale.
Per informazioni su come creare un bilanciatore del carico di rete passthrough esterno regionale, consulta Configurazione di un bilanciatore del carico di rete passthrough esterno regionale.
Configura le regole di forwarding per registrare un bilanciatore del carico di rete passthrough esterno regionale in Service Directory
Devi configurare una regola di forwarding per registrare il bilanciatore del carico di rete passthrough esterno regionale in Service Directory. Per registrare un bilanciatore del carico di rete passthrough esterno regionale, consulta la sezione seguente.
Registra un bilanciatore del carico di rete passthrough esterno regionale
Per registrare un bilanciatore del carico di rete passthrough esterno 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=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 creareREGION: la regione in cui creare la regola di forwardingRESERVED_IP_ADDRESS: l'indirizzo IP gestito dalla regola di forwarding.PROTOCOL_TYPE: il protocollo IP che deve essere gestito dalla regolaPORT_NUMBER: un elenco di porte separate da virgoleBACKEND_SERVICE_NAME: il servizio di backend di destinazione che riceve il trafficoSD_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.
Verifica l'endpoint
Gli endpoint Service Directory creati quando registri un bilanciatore del carico di rete passthrough esterno regionale 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 forwardingRULEcon--port=8080, ottieni un endpoint chiamatoRULE-8080. Per la stessa regola, se hai specificato due porte--port=8080, 8081, ottieni due endpoint,RULE-8080eRULE-8081. Se specifichi--port=ALL, l'endpoint Service Directory viene registrato con la porta0. Se sei il proprietario del bilanciatore del carico di rete passthrough esterno regionale, 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 finché 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 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 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 Google Cloud 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.
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 creatoREGION: la regione per la regola di forwarding
Per ulteriori dettagli, consulta la sezione Eliminazione di 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 resolvedescritto nella sezione Verifica l'endpoint del servizio Service Directory.Per eliminare lo spazio dei nomi e il servizio Service Directory, consulta Elimina 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 pagina Risoluzione dei problemi.