Questa pagina mostra come configurare uno spazio dei nomi Service Directory, registrare un servizio nello spazio dei nomi e aggiungere endpoint a un servizio. Puoi creare uno spazio dei nomi quando registri un servizio o prima di registrare un servizio.
Prima di eseguire i comandi elencati in questa pagina, familiarizza con i concetti descritti nella panoramica di Service Directory e nei termini chiave relativi a Service Directory.
Configura il progetto
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Service Directory API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Service Directory API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Configura le risorse di Service Directory
Per compilare Service Directory con i servizi, crea uno spazio dei nomi e registra il tuo servizio nello spazio dei nomi.
Configura uno spazio dei nomi
Per il tuo progetto, crea uno spazio dei nomi nella tua regione. Questa regione non deve necessariamente essere quella in cui sono in esecuzione tutti i tuoi servizi ed endpoint, ma deve essere vicina, se possibile.
Puoi registrare i tuoi servizi in qualsiasi regione di Service Directory; sono comunque risolvibili a livello globale. All'interno di una regione, i progetti possono avere più spazi dei nomi e questi spazi dei nomi possono trovarsi in regioni diverse. Un singolo spazio dei nomi non può estendersi su più regioni.
Console
Nella console Google Cloud , vai alla pagina Spazi dei nomi di Service Directory.
- Fai clic su Crea spazio dei nomi.
- Nell'elenco Regione, seleziona una regione per lo spazio dei nomi.
- Nel campo Nome spazio dei nomi, assegna un nome allo spazio dei nomi.
- Fai clic su Crea.
gcloud
Per utilizzare Service Directory dalla riga di comando, prima installa o esegui l'upgrade all'ultima versione di Google Cloud CLI.
Crea uno spazio dei nomi
gcloud service-directory namespaces create NAMESPACE \ --location REGION
Sostituisci quanto segue:
NAMESPACE: il nome dello spazio dei nomi che stai creando.REGION: la regione Google Cloud che contiene lo spazio dei nomi.
(Facoltativo) Imposta una policy IAM sul tuo spazio dei nomi. In questo modo, all'utente o al gruppo specificato viene assegnato il ruolo specificato per questo spazio dei nomi e per tutti i servizi che appartengono allo spazio dei nomi.
gcloud service-directory namespaces add-iam-policy-binding NAMESPACE \ --member user:someone@example.com \ --role ROLE \ --location REGION
Sostituisci quanto segue:
NAMESPACE: il nome dello spazio dei nomi che hai creato.ROLE: il ruolo che stai concedendo.REGION: la regione Google Cloud che contiene lo spazio dei nomi.
C#
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo C# e installare l'SDK C Directory Service Service.
Go
Per eseguire questo codice, prima configura un ambiente di sviluppo Go e installa l'SDK Go di Service Directory.
Java
Per eseguire questo codice, innanzitutto configura un ambiente di sviluppo Java e installa l'SDK Java di Service Directory.
Node.js
Per eseguire questo codice, prima configura un ambiente di sviluppo Node.js e installa l'SDK Node.js di Service Directory.
PHP
Per eseguire questo codice, prima configura un ambiente di sviluppo PHP e installa l'SDK PHP di Service Directory.
Python
Per eseguire questo codice, prima configura un ambiente di sviluppo Python e installa l'SDK Python di Service Directory.
Ruby
Per eseguire questo codice, prima configura un ambiente di sviluppo Ruby e installa l'SDK Ruby di Service Directory.
Configura un servizio
Crea un servizio nello spazio dei nomi. Un servizio è costituito da un nome e da annotazioni facoltative correlate al servizio. Esistono alcune limitazioni al formato dei nomi dei servizi:
- I nomi dei servizi devono essere univoci all'interno di uno spazio dei nomi.
- I nomi dei servizi devono seguire la convenzione di denominazione per le etichette DNS.
Per creare una regola di forwarding Private Service Connect e registrarla come servizio in Service Directory, consulta Registrare un endpoint Private Service Connect in Service Directory.
Per registrare un servizio standard in Service Directory:
Console
Nella console Google Cloud , vai alla pagina Service Directory.
- Fai clic su Registra servizio.
- Fai clic su Standard e poi su Avanti.
- Scegli una Regione in cui registrare il servizio.
- Scegli uno Spazio dei nomi in cui registrare il servizio.
Se non hai uno spazio dei nomi, segui questi passaggi per crearne uno:
- Nella casella Spazio dei nomi, fai clic su Crea spazio dei nomi.
- Inserisci un nome per lo spazio dei nomi.
- Fai clic su Crea.
- Inserisci un Nome servizio.
- (Facoltativo) Se vuoi aggiungere annotazioni al servizio:
- Fai clic su Aggiungi annotazione.
- Aggiungi una Chiave e un Valore.
- Per aggiungere altre annotazioni, fai di nuovo clic su Aggiungi annotazione.
- Fai clic su Crea.
gcloud
Per utilizzare Service Directory dalla riga di comando, prima installa o esegui l'upgrade all'ultima versione di Google Cloud CLI.
Crea un servizio in uno spazio dei nomi.
gcloud service-directory services create SERVICE \ --annotations KEY_1=VALUE_1,KEY_2=VALUE_2 \ --namespace NAMESPACE \ --location REGION
Sostituisci quanto segue:
SERVICE: il nome del servizio che stai creando.NAMESPACE: il nome dello spazio dei nomi che contiene il tuo servizio.REGION: la regione Google Cloud che contiene lo spazio dei nomi.KEY_1,VALUE_1,KEY_2,VALUE_2: insieme di stringhe di chiavi e valori impostati a coppie.
(Facoltativo) Imposta una policy IAM sul servizio. In questo modo, all'utente o al gruppo specificato viene assegnato il ruolo specificato per questo servizio e tutti gli endpoint che appartengono al servizio.
gcloud service-directory services add-iam-policy-binding SERVICE \ --member user:someone@example.com \ --role ROLE \ --namespace NAMESPACE \ --location REGION
Sostituisci quanto segue:
SERVICE: il nome che hai dato al servizio.NAMESPACE: il nome dello spazio dei nomi che contiene il servizioROLE: il ruolo che stai concedendo.REGION: la regione Google Cloud che contiene lo spazio dei nomi.
C#
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo C# e installare l'SDK C Directory Service Service.
Go
Per eseguire questo codice, prima configura un ambiente di sviluppo Go e installa l'SDK Go di Service Directory.
Java
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Java e installare Service Directory Java SDK.
Node.js
Per eseguire questo codice, prima configura un ambiente di sviluppo Node.js e installa l'SDK Node.js di Service Directory.
PHP
Per eseguire questo codice, prima configura un ambiente di sviluppo PHP e installa l'SDK PHP di Service Directory.
Python
Per eseguire questo codice, prima configura un ambiente di sviluppo Python e installa l'SDK Python di Service Directory.
Ruby
Per eseguire questo codice, prima configura un ambiente di sviluppo Ruby e installa l'SDK Ruby di Service Directory.
Configura un endpoint
Dopo aver registrato il servizio, aggiungi alcuni endpoint. Un endpoint è costituito da un nome univoco, un indirizzo IP e una porta facoltativi e annotazioni coppia chiave-valore. Se specificato, l'indirizzo IP deve essere un indirizzo IPv4 o IPv6 valido.
Console
Nella console Google Cloud , vai alla pagina Service Directory.
- Fai clic su un servizio.
- Fai clic su Aggiungi endpoint.
- Specifica un nome endpoint.
- Inserisci un indirizzo IP IPv4 o IPv6.
- Inserisci un numero di porta.
- (Facoltativo) Se vuoi aggiungere annotazioni all'endpoint:
- In Annotazioni, fai clic su Aggiungi annotazione.
- Aggiungi una Chiave e un Valore.
- Per aggiungere altre annotazioni, fai di nuovo clic su Aggiungi annotazione.
- Fai clic su Crea.
gcloud
Per utilizzare Service Directory dalla riga di comando, innanzitutto installa o esegui l'upgrade all'ultima versione di Google Cloud CLI.
Una volta registrato il servizio, aggiungi alcuni endpoint.
gcloud service-directory endpoints create ENDPOINT \ --address IP_ADDRESS \ --port PORT_NUMBER \ --annotations KEY_1=VALUE_1,KEY_2=VALUE_2 \ --service SERVICE \ --namespace NAMESPACE \ --location REGION
gcloud service-directory endpoints create ENDPOINT2 \ --address IP_ADDRESS2 \ --port PORT_NUMBER2 \ --service SERVICE \ --namespace NAMESPACE \ --location REGION
Sostituisci quanto segue:
ENDPOINTeENDPOINT2: i nomi degli endpoint che stai creando nel tuo servizio.IP_ADDRESSeIP_ADDRESS2: gli indirizzi IPv6 e IPv4 degli endpoint, rispettivamente.PORT_NUMBERePORT_NUMBER2: le porte su cui vengono eseguiti gli endpoint.SERVICE: il nome del servizio che contiene l'endpoint.NAMESPACE: il nome dello spazio dei nomi che contiene il tuo servizio.REGION: la regione Google Cloud che contiene lo spazio dei nomi.KEY_1,VALUE_1,KEY_2,VALUE_2: set di stringhe di chiavi e valori impostati in coppie.
C#
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo C# e installare l'SDK C Directory Service Service.
Go
Per eseguire questo codice, prima configura un ambiente di sviluppo Go e installa l'SDK Go di Service Directory.
Java
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Java e installare Service Directory Java SDK.
Node.js
Per eseguire questo codice, prima configura un ambiente di sviluppo Node.js e installa l'SDK Node.js di Service Directory.
PHP
Per eseguire questo codice, innanzitutto configura un ambiente di sviluppo PHP e installa l'SDK PHP di Service Directory.
Python
Per eseguire questo codice, innanzitutto configura un ambiente di sviluppo Python e installa l'SDK Python di Service Directory.
Ruby
Per eseguire questo codice, prima configura un ambiente di sviluppo Ruby e installa l'SDK Ruby di Service Directory.
Risolvere un servizio
Service Directory consente ai client di risolvere i servizi utilizzando DNS, HTTP e gRPC. La risoluzione del servizio restituisce tutte le proprietà del servizio, tutti gli endpoint e tutte le annotazioni.
gcloud
Per utilizzare Service Directory dalla riga di comando, innanzitutto installa o esegui l'upgrade all'ultima versione di Google Cloud CLI.
gcloud service-directory services resolve SERVICE \ --namespace NAMESPACE \ --location REGION
Sostituisci quanto segue:
SERVICE: il nome del servizio che stai risolvendo.NAMESPACE: il nome dello spazio dei nomi che contiene il tuo servizio.REGION: la regione Google Cloud che contiene lo spazio dei nomi.
C#
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo C# e installare l'SDK C Directory Service Service.
Go
Per eseguire questo codice, prima configura un ambiente di sviluppo Go e installa l'SDK Go di Service Directory.
Java
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Java e installare Service Directory Java SDK.
Node.js
Per eseguire questo codice, prima configura un ambiente di sviluppo Node.js e installa l'SDK Node.js di Service Directory.
PHP
Per eseguire questo codice, prima configura un ambiente di sviluppo PHP e installa l'SDK PHP di Service Directory.
Python
Per eseguire questo codice, prima configura un ambiente di sviluppo Python e installa l'SDK Python di Service Directory.
Ruby
Per eseguire questo codice, prima configura un ambiente di sviluppo Ruby e installa l'SDK Ruby di Service Directory.
Elimina risorse
Se non hai bisogno di una risorsa, puoi eliminarla da Service Directory.
Elimina un endpoint da un servizio
Console
Nella console Google Cloud , vai alla pagina Service Directory.
- Fai clic sul servizio da cui vuoi eliminare l'endpoint.
- Seleziona la casella di controllo accanto all'endpoint da eliminare.
- Fai clic su Elimina.
- Nella finestra di dialogo di conferma, fai di nuovo clic su Elimina.
gcloud
Per utilizzare Service Directory dalla riga di comando, prima installa o esegui l'upgrade all'ultima versione di Google Cloud CLI.
gcloud service-directory endpoints delete ENDPOINT \
--service=SERVICE \
--namespace=NAMESPACE \
--location=REGION
Sostituisci quanto segue:
ENDPOINT: il nome dell'endpoint che stai eliminando.SERVICE: il nome del servizio che contiene l'endpoint.NAMESPACE: il nome dello spazio dei nomi che contiene il tuo servizio.REGION: la regione Google Cloud che contiene lo spazio dei nomi.
C#
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo C# e installare l'SDK C Directory Service Service.
Go
Per eseguire questo codice, prima configura un ambiente di sviluppo Go e installa l'SDK Go di Service Directory.
Java
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Java e installare Service Directory Java SDK.
Node.js
Per eseguire questo codice, prima configura un ambiente di sviluppo Node.js e installa l'SDK Node.js di Service Directory.
PHP
Per eseguire questo codice, innanzitutto configura un ambiente di sviluppo PHP e installa l'SDK PHP di Service Directory.
Python
Per eseguire questo codice, prima configura un ambiente di sviluppo Python e installa l'SDK Python di Service Directory.
Ruby
Per eseguire questo codice, prima configura un ambiente di sviluppo Ruby e installa l'SDK Ruby di Service Directory.
Elimina un servizio da uno spazio dei nomi
Puoi eliminare un servizio che ha endpoint. Quando un servizio viene eliminato, vengono eliminati anche tutti i relativi endpoint.
Puoi eliminare un servizio a cui punta una zona di Service Directory. Qualsiasi ulteriore query DNS per quel servizio restituisce NXDOMAIN.
Console
Nella console Google Cloud , vai alla pagina Service Directory.
- Seleziona la casella di controllo accanto al servizio che vuoi eliminare.
- Fai clic su Elimina.
- Nella finestra di dialogo di conferma, fai di nuovo clic su Elimina.
gcloud
Per utilizzare Service Directory dalla riga di comando, innanzitutto installa o esegui l'upgrade all'ultima versione di Google Cloud CLI.
gcloud service-directory services delete SERVICE \
--namespace=NAMESPACE \
--location=REGION
Sostituisci quanto segue:
SERVICE: il nome del servizio che stai eliminando.NAMESPACE: il nome dello spazio dei nomi che contiene il tuo servizio.REGION: la regione Google Cloud che contiene lo spazio dei nomi.
C#
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo C# e installare l'SDK C Directory Service Service.
Go
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Go e installare l'SDK Go di Service Directory.
Java
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Java e installare Service Directory Java SDK.
Node.js
Per eseguire questo codice, prima configura un ambiente di sviluppo Node.js e installa l'SDK Node.js di Service Directory.
PHP
Per eseguire questo codice, prima configura un ambiente di sviluppo PHP e installa l'SDK PHP di Service Directory.
Python
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Python e installare l'SDK Python di Service Directory.
Ruby
Per eseguire questo codice, prima configura un ambiente di sviluppo Ruby e installa l'SDK Ruby di Service Directory.
Eliminare uno spazio dei nomi
Puoi eliminare uno spazio dei nomi che contiene servizi ed endpoint. Quando viene eliminato un namespace, vengono eliminati anche tutti i relativi servizi ed endpoint.
Puoi eliminare uno spazio dei nomi a cui punta una
zona Service Directory. Qualsiasi altra query DNS (escluse le richieste SOA/NS
per l'origine della zona) restituisce NXDOMAIN.
Console
Nella console Google Cloud , vai alla pagina Spazi dei nomi di Service Directory.
- Seleziona la casella di controllo accanto allo spazio dei nomi da eliminare.
- Fai clic su Elimina.
- Nella finestra di dialogo di conferma, fai di nuovo clic su Elimina.
gcloud
Per utilizzare Service Directory dalla riga di comando, prima installa o esegui l'upgrade all'ultima versione di Google Cloud CLI.
gcloud service-directory namespaces delete NAMESPACE \
--location=REGION
Sostituisci quanto segue:
NAMESPACE: il nome dello spazio dei nomi che stai eliminando.REGION: la regione Google Cloud che contiene lo spazio dei nomi.
C#
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo C# e installare l'SDK C Directory Service Service.
Go
Per eseguire questo codice, prima configura un ambiente di sviluppo Go e installa l'SDK Go di Service Directory.
Java
Per eseguire questo codice, innanzitutto configura un ambiente di sviluppo Java e installa l'SDK Java di Service Directory.
Node.js
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Node.js e installare l'SDK Node.js di Service Directory.
PHP
Per eseguire questo codice, prima configura un ambiente di sviluppo PHP e installa l'SDK PHP di Service Directory.
Python
Per eseguire questo codice, prima configura un ambiente di sviluppo Python e installa l'SDK Python di Service Directory.
Ruby
Per eseguire questo codice, prima configura un ambiente di sviluppo Ruby e installa l'SDK Ruby di Service Directory.
Passaggi successivi
- Per configurare una zona Service Directory in modo da poter eseguire query sul servizio utilizzando DNS, consulta Configurare una zona Service Directory.
- 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.