En esta página, se muestra cómo configurar un espacio de nombres del Directorio de servicios, registrar un servicio en el espacio de nombres y agregar extremos a un servicio. Puedes crear un espacio de nombres cuando registras un servicio o antes de registrar un servicio.
Antes de ejecutar los comandos que se indican en esta página, familiarízate con los conceptos de la descripción general de Service Directory y los términos clave relacionados con Directorio de servicios.
Configura tu proyecto
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. 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.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente 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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. 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.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
En la consola de Google Cloud , ve a la página Espacios de nombres de Service Directory.
- Haz clic en Crear espacio de nombres.
- En la lista Región, selecciona una región para tu espacio de nombres.
- En el campo Nombre del espacio de nombres, asígnale un nombre al espacio de nombres.
- Haz clic en Crear.
Crea un espacio de nombres
gcloud service-directory namespaces create NAMESPACE \ --location REGION
Reemplaza lo siguiente:
NAMESPACE
: Es el nombre del espacio de nombres que crearás.REGION
: Es la Google Cloud región que contiene el espacio de nombres.
Opcional: Establece una política de IAM en tu espacio de nombres. Esto le otorga al usuario o grupo especificado el rol especificado para este espacio de nombres y todos los servicios que pertenecen a él.
gcloud service-directory namespaces add-iam-policy-binding NAMESPACE \ --member user:someone@example.com \ --role ROLE \ --location REGION
Reemplaza lo siguiente:
NAMESPACE
: Es el nombre del espacio de nombres que creaste.ROLE
: Es el rol que otorgas.REGION
: Es la Google Cloud región que contiene el espacio de nombres.
- Los nombres de los servicios deben ser únicos dentro de un espacio de nombres.
- Los nombres de servicio deben seguir la convención de nomenclatura para las etiquetas de DNS.
En la consola de Google Cloud , ve a la página Service Directory.
- Haz clic en Registrar servicio.
- Haz clic en Estándar y, luego, en Siguiente.
- Elige una región en la que registrar tu servicio.
- Elige un espacio de nombres en el que registrar tu servicio.
Si no tienes un espacio de nombres, sigue estos pasos para crear uno:
- En el cuadro Espacio de nombres, haz clic en Crear espacio de nombres.
- Ingresa un nombre para el espacio de nombres.
- Haz clic en Crear.
- Ingresa un nombre de servicio.
- Opcional: Si deseas agregar anotaciones al servicio, haz lo siguiente:
- Haz clic en Agregar anotación.
- Agrega una clave y un valor.
- Para agregar más anotaciones, vuelve a hacer clic en Agregar anotación.
- Haz clic en Crear.
Crea un servicio en un espacio de nombres.
gcloud service-directory services create SERVICE \ --annotations KEY_1=VALUE_1,KEY_2=VALUE_2 \ --namespace NAMESPACE \ --location REGION
Reemplaza lo siguiente:
SERVICE
: Es el nombre del servicio que crearás.NAMESPACE
: Es el nombre del espacio de nombres que contiene tu servicio.REGION
: Es la Google Cloud región que contiene el espacio de nombres.KEY_1
,VALUE_1
,KEY_2
,VALUE_2
: Es un conjunto de cadenas de clave y valor establecidas en pares.
Opcional: Establece una política de IAM en tu servicio. Esto otorga al usuario o grupo especificado el rol especificado para este servicio y todos los extremos que pertenecen al servicio.
gcloud service-directory services add-iam-policy-binding SERVICE \ --member user:someone@example.com \ --role ROLE \ --namespace NAMESPACE \ --location REGION
Reemplaza lo siguiente:
SERVICE
: Es el nombre que le diste a tu servicio.NAMESPACE
: Es el nombre del espacio de nombres que contiene tu servicio.ROLE
: Es el rol que deseas otorgar.REGION
: Es la Google Cloud región que contiene el espacio de nombres.
En la consola de Google Cloud , ve a la página Service Directory.
- Haz clic en un servicio.
- Haz clic en Agregar extremo.
- Proporciona un Nombre del extremo.
- Ingresa una dirección IP IPv4 o IPv6.
- Ingresa un número de puerto.
- Opcional: Si quieres agregar anotaciones al extremo, haz lo siguiente:
- En Anotaciones, haz clic en Agregar anotación.
- Agrega una clave y un valor.
- Para agregar más anotaciones, vuelve a hacer clic en Agregar anotación.
- Haz clic en Crear.
ENDPOINT
yENDPOINT2
: Son los nombres de los extremos que crearás en tu servicio.IP_ADDRESS
yIP_ADDRESS2
: Son las direcciones IPv6 e IPv4 de los extremos, respectivamente.PORT_NUMBER
yPORT_NUMBER2
: Son los puertos en los que se ejecutan los extremos.SERVICE
: Es el nombre del servicio que contiene tu extremo.NAMESPACE
: Es el nombre del espacio de nombres que contiene tu servicio.REGION
: Es la Google Cloud región que contiene el espacio de nombres.KEY_1
,VALUE_1
,KEY_2
,VALUE_2
: Es un conjunto de cadenas de clave y valor establecidas en pares.SERVICE
: Es el nombre del servicio que estás resolviendo.NAMESPACE
: Es el nombre del espacio de nombres que contiene tu servicio.REGION
: Es la Google Cloud región que contiene el espacio de nombres.En la consola de Google Cloud , ve a la página Service Directory.
- Haz clic en el servicio del que deseas borrar el extremo.
- Selecciona la casilla de verificación junto al extremo que deseas borrar.
- Haz clic en Borrar.
- En el diálogo de confirmación, vuelve a hacer clic en Borrar.
ENDPOINT
: Es el nombre del extremo que borras.SERVICE
: Es el nombre del servicio que contiene tu extremo.NAMESPACE
: Es el nombre del espacio de nombres que contiene tu servicio.REGION
: Es la Google Cloud región que contiene el espacio de nombres.En la consola de Google Cloud , ve a la página Service Directory.
- Selecciona la casilla de verificación junto al servicio que deseas borrar.
- Haz clic en Borrar.
- En el diálogo de confirmación, vuelve a hacer clic en Borrar.
SERVICE
: Es el nombre del servicio que borras.NAMESPACE
: Es el nombre del espacio de nombres que contiene tu servicio.REGION
: Es la Google Cloud región que contiene el espacio de nombres.En la consola de Google Cloud , ve a la página Espacios de nombres de Service Directory.
- Selecciona la casilla de verificación junto al espacio de nombres que deseas borrar.
- Haz clic en Borrar.
- En el diálogo de confirmación, vuelve a hacer clic en Borrar.
NAMESPACE
: Es el nombre del espacio de nombres que borrarás.REGION
: Es la Google Cloud región que contiene el espacio de nombres.- Para configurar una zona del Directorio de servicios de modo que puedas consultar tu servicio con DNS, consulta Configura una zona del Directorio de servicios.
- Para obtener una descripción general del Directorio de servicios, consulta la Descripción general del Directorio de servicios.
- Para encontrar soluciones a problemas habituales que podrías tener cuando usas Directorio de servicios, consulta Solución de problemas.
Configura recursos del Directorio de servicios
Para completar el Directorio de servicios con servicios, crea un espacio de nombres y registra tu servicio en él.
Configura un espacio de nombres
Para tu proyecto, crea un espacio de nombres en tu región. Esta región no tiene que ser donde se ejecutan todos tus servicios y extremos, pero debe estar cerca, si es posible.
Puedes registrar tus servicios en cualquier región del Directorio de servicios, ya que se pueden resolver de forma global. Dentro de una región, los proyectos pueden tener varios espacios de nombres, y esos espacios de nombres pueden estar en diferentes regiones. Un solo espacio de nombres no puede abarcar varias regiones.
Console
gcloud
Para usar Directorio de servicios en la línea de comandos, primero instala o actualiza a la versión más reciente de Google Cloud CLI.
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# y, luego, instala el SDK de C# del directorio de servicios.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go del directorio de servicios.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java del directorio de servicios.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js del directorio de servicios.
PHP
Para ejecutar este código, primero configura un entorno de desarrollo de PHP y, luego, instala el SDK de PHP del directorio de servicios.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python del directorio de servicios.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby y, luego, instala el SDK de Ruby del directorio de servicios.
Configura un servicio
Crea un servicio en el espacio de nombres. Un servicio consta de un nombre y anotaciones opcionales relacionadas con el servicio. Existen algunas restricciones sobre el formato de los nombres de servicio:
Para crear una regla de reenvío de Private Service Connect y registrarla como un servicio con el Directorio de servicios, consulta Registra un extremo de Private Service Connect con el Directorio de servicios.
Para registrar un servicio estándar en Directorio de servicios, sigue estos pasos:
Console
gcloud
Para usar Directorio de servicios en la línea de comandos, primero instala o actualiza a la versión más reciente de Google Cloud CLI.
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# y, luego, instala el SDK de C# del directorio de servicios.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go del directorio de servicios.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java del directorio de servicios.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js del directorio de servicios.
PHP
Para ejecutar este código, primero configura un entorno de desarrollo de PHP y, luego, instala el SDK de PHP del directorio de servicios.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python del directorio de servicios.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby y, luego, instala el SDK de Ruby del directorio de servicios.
Configura un extremo
Después de registrar el servicio, agrega algunos extremos. Un extremo consta de un nombre único, una dirección IP y un puerto opcionales, y anotaciones de clave-valor. Si se especifica, la dirección IP debe ser una dirección IPv4 o IPv6 válida.
Console
gcloud
Para usar Directorio de servicios en la línea de comandos, primero instala o actualiza a la versión más reciente de Google Cloud CLI.
Una vez que se registra el servicio, agrega algunos extremos.
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
Reemplaza lo siguiente:
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# y, luego, instala el SDK de C# del directorio de servicios.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go del directorio de servicios.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java del directorio de servicios.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js del directorio de servicios.
PHP
Para ejecutar este código, primero configura un entorno de desarrollo de PHP y, luego, instala el SDK de PHP del directorio de servicios.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python del directorio de servicios.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby y, luego, instala el SDK de Ruby del directorio de servicios.
Resuelve un servicio
El Directorio de servicios permite que los clientes resuelvan servicios con DNS, HTTP y gRPC. Resolver el servicio devuelve todas sus propiedades, todos sus extremos y todas sus anotaciones.
gcloud
Para usar Directorio de servicios en la línea de comandos, primero instala o actualiza a la versión más reciente de Google Cloud CLI.
gcloud service-directory services resolve SERVICE \ --namespace NAMESPACE \ --location REGION
Reemplaza lo siguiente:
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# y, luego, instala el SDK de C# del directorio de servicios.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go del directorio de servicios.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java del directorio de servicios.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js del directorio de servicios.
PHP
Para ejecutar este código, primero configura un entorno de desarrollo de PHP y, luego, instala el SDK de PHP del directorio de servicios.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python del directorio de servicios.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby y, luego, instala el SDK de Ruby del directorio de servicios.
Borrar los recursos
Si no necesitas un recurso, puedes borrarlo del Directorio de servicios.
Borra un extremo de un servicio
Console
gcloud
Para usar Directorio de servicios en la línea de comandos, primero instala o actualiza a la versión más reciente de Google Cloud CLI.
gcloud service-directory endpoints delete ENDPOINT \ --service=SERVICE \ --namespace=NAMESPACE \ --location=REGION
Reemplaza lo siguiente:
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# y, luego, instala el SDK de C# del directorio de servicios.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go del directorio de servicios.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java del directorio de servicios.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js del directorio de servicios.
PHP
Para ejecutar este código, primero configura un entorno de desarrollo de PHP y, luego, instala el SDK de PHP del directorio de servicios.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python del directorio de servicios.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby y, luego, instala el SDK de Ruby del directorio de servicios.
Borra un servicio de un espacio de nombres
Puedes borrar un servicio que tenga extremos. Cuando se borra un servicio, también se borran todos sus extremos.
Puedes borrar un servicio que tenga una zona del Directorio de servicios que apunte a él. Cualquier otra consulta de DNS para ese servicio devolverá NXDOMAIN
.
Console
gcloud
Para usar Directorio de servicios en la línea de comandos, primero instala o actualiza a la versión más reciente de Google Cloud CLI.
gcloud service-directory services delete SERVICE \ --namespace=NAMESPACE \ --location=REGION
Reemplaza lo siguiente:
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# y, luego, instala el SDK de C# del directorio de servicios.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go del directorio de servicios.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java del directorio de servicios.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js del directorio de servicios.
PHP
Para ejecutar este código, primero configura un entorno de desarrollo de PHP y, luego, instala el SDK de PHP del directorio de servicios.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python del directorio de servicios.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby y, luego, instala el SDK de Ruby del directorio de servicios.
Cómo borrar un espacio de nombres
Puedes borrar un espacio de nombres que tenga servicios y extremos. Cuando se borra un espacio de nombres, también se borran todos sus servicios y extremos.
Puedes borrar un espacio de nombres que tenga una zona del Directorio de servicios que apunte a él. Cualquier otra consulta de DNS (sin incluir las solicitudes SOA/NS para el origen de la zona) devuelve NXDOMAIN
.
Console
gcloud
Para usar Directorio de servicios en la línea de comandos, primero instala o actualiza a la versión más reciente de Google Cloud CLI.
gcloud service-directory namespaces delete NAMESPACE \ --location=REGION
Reemplaza lo siguiente:
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# y, luego, instala el SDK de C# del directorio de servicios.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go del directorio de servicios.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java del directorio de servicios.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js del directorio de servicios.
PHP
Para ejecutar este código, primero configura un entorno de desarrollo de PHP y, luego, instala el SDK de PHP del directorio de servicios.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python del directorio de servicios.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby y, luego, instala el SDK de Ruby del directorio de servicios.