Nesta página, mostramos como configurar um namespace do Diretório de serviços, registrar um serviço no namespace e adicionar endpoints a um serviço. É possível criar um namespace ao registrar um serviço ou antes de registrar um serviço.
Antes de executar os comandos listados nesta página, familiarize-se com os conceitos na visão geral do Service Directory e nos termos principais relacionados ao Diretório de serviços.
Criar o projeto
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloudagora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
-
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
Configurar recursos do Service Directory
Para preencher o Diretório de serviços com serviços, crie um namespace e registre seu serviço nele.
Configurar um namespace
Para seu projeto, crie um namespace na sua região. Essa região não precisa ser onde todos os seus serviços e endpoints estão em execução, mas precisa estar próxima, se possível.
É possível registrar seus serviços em qualquer região do Diretório de Serviços. Eles ainda serão resolvidos globalmente. Em uma região, os projetos podem ter vários namespaces, e esses namespaces podem estar em regiões diferentes. Um único namespace não pode abranger várias regiões.
Console
No console do Google Cloud , acesse a página Namespaces do Service Directory.
- Clique em Criar namespace.
- Na lista Região, selecione uma região para seu namespace.
- No campo Nome do namespace, dê um nome ao namespace.
- Clique em Criar.
gcloud
Para usar Diretório de serviços na linha de comando, primeiro instale ou faça upgrade para a versão mais recente da Google Cloud CLI.
Criar um namespace
gcloud service-directory namespaces create NAMESPACE \ --location REGION
Substitua:
NAMESPACE: o nome do namespace que você está criando.REGION: a região do Google Cloud que contém o namespace.
Opcional: defina uma política do IAM no namespace. Isso concede ao usuário ou grupo especificado o papel especificado para esse namespace e todos os serviços que pertencem a ele.
gcloud service-directory namespaces add-iam-policy-binding NAMESPACE \ --member user:someone@example.com \ --role ROLE \ --location REGION
Substitua:
NAMESPACE: o nome do namespace que você criou.ROLE: o papel que você está concedendo.REGION: a região do Google Cloud que contém o namespace.
C#
Para executar esse código, primeiro configure um ambiente de desenvolvimento em C# e instale o SDK do Diretório de Serviços em C#.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento Go e instale o SDK do Service Directory para Go.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK do Java do Service Directory.
Node.js
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Node.js e instale o SDK do Node.js do Diretório de Serviços.
PHP
Para executar esse código, primeiro configure um ambiente de desenvolvimento em PHP e instale o SDK do PHP do Service Directory.
Python
Para executar esse código, primeiro configure um ambiente de desenvolvimento em Python e instale o SDK do Python do Service Directory.
Ruby
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Ruby e instale o SDK do Ruby do Diretório de Serviços.
Configurar um serviço
Crie um serviço no namespace. Um serviço consiste em um nome e anotações opcionais relacionadas ao serviço. Há algumas restrições no formato dos nomes de serviço:
- Os nomes de serviço precisam ser exclusivos em um namespace.
- Os nomes de serviço precisam seguir a convenção de nomenclatura para rótulos de DNS.
Para criar uma regra de encaminhamento do Private Service Connect e registrá-la como um serviço no Diretório de serviços, consulte Registrar um endpoint do Private Service Connect com o Service Directory.
Para registrar um serviço padrão com Diretório de serviços, siga estas etapas:
Console
No console do Google Cloud , acesse a página Diretório de Serviços.
- Clique em Registrar serviço.
- Clique em Padrão e em Próxima.
- Escolha uma Região para registrar o serviço.
- Escolha um namespace para registrar seu serviço.
Se você não tiver um namespace, siga estas etapas para criar um:
- Na caixa Namespace, clique em Criar namespace.
- Insira um nome de namespace.
- Clique em Criar.
- Insira um Nome do serviço.
- Opcional: se você quiser adicionar anotações ao serviço, faça o seguinte:
- Clique em Adicionar anotação.
- Adicione uma Chave e um Valor.
- Para adicionar mais anotações, clique em Adicionar anotação novamente.
- Clique em Criar.
gcloud
Para usar o Diretório de Serviços na linha de comando, primeiro instale ou faça upgrade para a versão mais recente da Google Cloud CLI.
Crie um serviço em um namespace.
gcloud service-directory services create SERVICE \ --annotations KEY_1=VALUE_1,KEY_2=VALUE_2 \ --namespace NAMESPACE \ --location REGION
Substitua:
SERVICE: o nome do serviço que você está criando.NAMESPACE: o nome do namespace que contém seu serviço.REGION: a região do Google Cloud que contém o namespace.KEY_1,VALUE_1,KEY_2,VALUE_2: conjunto de strings de chave e valor em pares.
Opcional: defina uma política do IAM no seu serviço. Isso concede ao usuário ou grupo especificado o papel especificado para esse serviço e todos os endpoints que pertencem a ele.
gcloud service-directory services add-iam-policy-binding SERVICE \ --member user:someone@example.com \ --role ROLE \ --namespace NAMESPACE \ --location REGION
Substitua:
SERVICE: o nome que você deu ao serviço.NAMESPACE: o nome do namespace que contém o serviço.ROLE: o papel que você está concedendo.REGION: a região do Google Cloud que contém o namespace.
C#
Para executar esse código, primeiro configure um ambiente de desenvolvimento em C# e instale o SDK C# do Service Directory.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento Go e instale o SDK do Service Directory para Go.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK do Java do Service Directory.
Node.js
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Node.js e instale o SDK do Node.js do Diretório de Serviços.
PHP
Para executar esse código, primeiro configure um ambiente de desenvolvimento em PHP e instale o SDK do PHP do Service Directory.
Python
Para executar esse código, primeiro configure um ambiente de desenvolvimento em Python e instale o SDK do Python do Diretório de Serviços.
Ruby
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Ruby e instale o SDK do Ruby do Diretório de Serviços.
Configurar um endpoint
Depois de registrar o serviço, adicione alguns endpoints. Um endpoint consiste em um nome exclusivo, um endereço IP e uma porta opcionais e anotações de chave-valor. Se especificado, o endereço IP precisa ser um endereço IPv4 ou IPv6 válido.
Console
No console do Google Cloud , acesse a página Service Directory.
- Clique em um serviço.
- Clique em Adicionar endpoint.
- Insira um Nome do endpoint.
- Insira um endereço IP IPv4 ou IPv6.
- Insira um número de porta.
- Opcional: se quiser adicionar anotações ao endpoint, faça o seguinte:
- Em Anotações, clique em Adicionar anotação.
- Adicione uma Chave e um Valor.
- Para adicionar mais anotações, clique em Adicionar anotação novamente.
- Clique em Criar.
gcloud
Para usar o Diretório de Serviços na linha de comando, primeiro instale ou faça upgrade para a versão mais recente da Google Cloud CLI.
Depois que o serviço for registrado, adicione alguns endpoints.
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
Substitua:
ENDPOINTeENDPOINT2: os nomes dos endpoints que você está criando no serviço.IP_ADDRESSeIP_ADDRESS2: os endereços IPv6 e IPv4 dos endpoints, respectivamente.PORT_NUMBERePORT_NUMBER2: as portas em que os endpoints estão sendo executados.SERVICE: o nome do serviço que contém seu endpoint.NAMESPACE: o nome do namespace que contém o serviço.REGION: a região do Google Cloud que contém o namespace.KEY_1,VALUE_1,KEY_2,VALUE_2: conjunto de strings de chave e valor em pares.
C#
Para executar esse código, primeiro configure um ambiente de desenvolvimento em C# e instale o SDK C# do Service Directory.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento Go e instale o SDK do Service Directory para Go.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK do Java do Service Directory.
Node.js
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Node.js e instale o SDK do Node.js do Service Directory.
PHP
Para executar esse código, primeiro configure um ambiente de desenvolvimento em PHP e instale o SDK do PHP do Service Directory.
Python
Para executar esse código, primeiro configure um ambiente de desenvolvimento em Python e instale o SDK do Python do Service Directory.
Ruby
Para executar esse código, primeiro configure um ambiente de desenvolvimento Ruby e instale o SDK do Service Directory para Ruby.
Resolver um serviço
Com o Diretório de serviços, os clientes resolvem serviços usando DNS, HTTP e gRPC. A resolução do serviço retorna todas as propriedades, endpoints e anotações dele.
gcloud
Para usar Diretório de serviços na linha de comando, primeiro instale ou faça upgrade para a versão mais recente da Google Cloud CLI.
gcloud service-directory services resolve SERVICE \ --namespace NAMESPACE \ --location REGION
Substitua:
SERVICE: o nome do serviço que você está resolvendo.NAMESPACE: o nome do namespace que contém seu serviço.REGION: a região do Google Cloud que contém o namespace.
C#
Para executar esse código, primeiro configure um ambiente de desenvolvimento em C# e instale o SDK C# do Service Directory.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento Go e instale o SDK do Service Directory para Go.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK do Java do Service Directory.
Node.js
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Node.js e instale o SDK do Node.js do Service Directory.
PHP
Para executar esse código, primeiro configure um ambiente de desenvolvimento em PHP e instale o SDK do PHP do Service Directory.
Python
Para executar esse código, primeiro configure um ambiente de desenvolvimento em Python e instale o SDK do Python do Service Directory.
Ruby
Para executar esse código, primeiro configure um ambiente de desenvolvimento Ruby e instale o SDK do Service Directory para Ruby.
Excluir recursos
Se você não precisar de um recurso, poderá excluí-lo do Diretório de Serviços.
Excluir um endpoint de um serviço
Console
No console do Google Cloud , acesse a página Service Directory.
- Clique no serviço do qual você quer excluir o endpoint.
- Marque a caixa de seleção ao lado do endpoint que você quer excluir.
- Clique em Excluir.
- Na caixa de diálogo de confirmação, clique em Excluir novamente.
gcloud
Para usar Diretório de serviços na linha de comando, primeiro instale ou faça upgrade para a versão mais recente da Google Cloud CLI.
gcloud service-directory endpoints delete ENDPOINT \
--service=SERVICE \
--namespace=NAMESPACE \
--location=REGION
Substitua:
ENDPOINT: o nome do endpoint que você está excluindo.SERVICE: o nome do serviço que contém seu endpoint.NAMESPACE: o nome do namespace que contém seu serviço.REGION: a região do Google Cloud que contém o namespace.
C#
Para executar esse código, primeiro configure um ambiente de desenvolvimento em C# e instale o SDK C# do Service Directory.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento Go e instale o SDK do Service Directory para Go.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK do Java do Service Directory.
Node.js
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Node.js e instale o SDK do Node.js do Service Directory.
PHP
Para executar esse código, primeiro configure um ambiente de desenvolvimento PHP e instale o SDK do PHP do Diretório de Serviços.
Python
Para executar esse código, primeiro configure um ambiente de desenvolvimento em Python e instale o SDK do Python do Service Directory.
Ruby
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Ruby e instale o SDK do Ruby do Diretório de Serviços.
Excluir um serviço de um namespace
É possível excluir um serviço que tenha endpoints. Quando um serviço é excluído, todos os endpoints dele também são excluídos.
É possível excluir um serviço que tenha uma
zona do Diretório de serviços
apontando para ele. Todas as outras consultas DNS para esse serviço retornam NXDOMAIN.
Console
No console do Google Cloud , acesse a página Service Directory.
- Marque a caixa de seleção ao lado do serviço que você quer excluir.
- Clique em Excluir.
- Na caixa de diálogo de confirmação, clique em Excluir novamente.
gcloud
Para usar Diretório de serviços na linha de comando, primeiro instale ou faça upgrade para a versão mais recente da Google Cloud CLI.
gcloud service-directory services delete SERVICE \
--namespace=NAMESPACE \
--location=REGION
Substitua:
SERVICE: o nome do serviço que você está excluindo.NAMESPACE: o nome do namespace que contém seu serviço.REGION: a região do Google Cloud que contém o namespace.
C#
Para executar esse código, primeiro configure um ambiente de desenvolvimento em C# e instale o SDK C# do Service Directory.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento Go e instale o SDK do Service Directory para Go.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK do Java do Service Directory.
Node.js
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Node.js e instale o SDK do Node.js do Service Directory.
PHP
Para executar esse código, primeiro configure um ambiente de desenvolvimento PHP e instale o SDK do PHP do Diretório de Serviços.
Python
Para executar esse código, primeiro configure um ambiente de desenvolvimento em Python e instale o SDK do Python do Service Directory.
Ruby
Para executar esse código, primeiro configure um ambiente de desenvolvimento Ruby e instale o SDK do Service Directory para Ruby.
Excluir um namespace
É possível excluir um namespace com serviços e endpoints. Quando um namespace é excluído, todos os serviços e endpoints dele também são excluídos.
É possível excluir um namespace que tenha uma
zona do Diretório de Serviços
apontando para ele. Outras consultas DNS (sem incluir solicitações SOA/NS para a origem da zona) retornam NXDOMAIN.
Console
No console do Google Cloud , acesse a página Namespaces do Service Directory.
- Marque a caixa de seleção ao lado do namespace que você quer excluir.
- Clique em Excluir.
- Na caixa de diálogo de confirmação, clique em Excluir novamente.
gcloud
Para usar Diretório de serviços na linha de comando, primeiro instale ou faça upgrade para a versão mais recente da Google Cloud CLI.
gcloud service-directory namespaces delete NAMESPACE \
--location=REGION
Substitua:
NAMESPACE: o nome do namespace que você está excluindo.REGION: a região do Google Cloud que contém o namespace.
C#
Para executar esse código, primeiro configure um ambiente de desenvolvimento em C# e instale o SDK do Diretório de Serviços em C#.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento em Go e instale o SDK do Diretório de Serviços para Go.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK Java do Diretório de Serviços.
Node.js
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Node.js e instale o SDK do Node.js do Service Directory.
PHP
Para executar esse código, primeiro configure um ambiente de desenvolvimento em PHP e instale o SDK do PHP do Service Directory.
Python
Para executar esse código, primeiro configure um ambiente de desenvolvimento em Python e instale o SDK do Python do Service Directory.
Ruby
Para executar esse código, primeiro configure um ambiente de desenvolvimento Ruby e instale o SDK do Service Directory para Ruby.
A seguir
- Para configurar uma zona do Diretório de serviços e consultar seu serviço usando DNS, consulte Configurar uma zona do Diretório de serviços.
- Para ter uma visão geral do Diretório de serviços, consulte a Visão geral do Diretório de serviços.
- Para encontrar soluções para problemas comuns que podem acontecer ao usar Diretório de serviços, consulte Solução de problemas.