Esta página mostra 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 Diretório de serviços e os 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 Cloud, crie uma conta para avaliar o desempenho de 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.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, execute o seguinte comando:
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.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, execute o seguinte comando:
gcloud init
Configurar recursos do Diretório de serviços
Para preencher o Diretório de serviços com serviços, crie um namespace e registre seu serviço nele.
Configurar um namespace
Crie um namespace na sua região para o projeto. 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.
Você pode 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 Diretório de serviços.
- 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 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.
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 seu 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 C# do Diretório de serviços.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Go e instale o SDK do Go Directory do serviço.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK de serviço do Java 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 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 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 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 Diretório de serviços.
Para registrar um serviço padrão no 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 Standard e em Next.
- Escolha uma região para registrar seu 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.
- Digite um nome para o 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 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 do C# do Diretório de serviços.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Go e instale o SDK do Go Directory do serviço.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK de serviço do Java 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 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 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 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 Diretório de serviços.
- Clique em um serviço.
- Clique em Adicionar endpoint.
- Forneça um Nome do endpoint.
- Insira um endereço IP IPv4 ou IPv6.
- Insira um número de Porta.
- Opcional: se você 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 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.
C#
Para executar esse código, primeiro configure um ambiente de desenvolvimento em C# e instale o SDK do C# do Diretório de serviços.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Go e instale o SDK do Go Directory do serviço.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK de serviço do Java 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 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 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 Ruby e instale o SDK do Ruby do Diretório de serviços.
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, todos os endpoints e todas as anotações.
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.
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 do C# do Diretório de serviços.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Go e instale o SDK do Go Directory do serviço.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK de serviço do Java 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 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 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 Ruby e instale o SDK do Ruby do Diretório de serviços.
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 Diretório de serviços.
- Clique no serviço de que 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 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.
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 do C# do Diretório de serviços.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Go e instale o SDK do Go Directory do serviço.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK de serviço do Java 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 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 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 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. Outras consultas DNS para esse serviço vão retornar NXDOMAIN.
Console
No console do Google Cloud , acesse a página Diretório de serviços.
- 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 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.
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 do C# do Diretório de serviços.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Go e instale o SDK do Go Directory do serviço.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK de serviço do Java 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 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 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 Ruby e instale o SDK do Ruby do Diretório de serviços.
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 Diretório de serviços.
- 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 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.
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 C# do Diretório de serviços.
Go
Para executar esse código, primeiro configure um ambiente de desenvolvimento do Go e instale o SDK do Go Directory do serviço.
Java
Para executar esse código, primeiro configure um ambiente de desenvolvimento Java e instale o SDK de serviço do Java 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 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 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 Ruby e instale o SDK do Ruby do Diretório de serviços.
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 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 você pode encontrar ao usar o Diretório de serviços, consulte Solução de problemas.