本页介绍了如何设置 Service Directory 命名空间、在命名空间中注册服务,以及向服务添加端点。您可以在注册服务时或注册服务之前创建命名空间。
在运行本页列出的命令之前,请先熟悉Service Directory 概览中的概念以及与 Service Directory 相关的关键术语。
设置项目
- 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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Service Directory API.
-
Install the Google Cloud CLI.
-
如果您使用的是外部身份提供方 (IdP),则必须先 使用联合身份登录 gcloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Service Directory API.
-
Install the Google Cloud CLI.
-
如果您使用的是外部身份提供方 (IdP),则必须先 使用联合身份登录 gcloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init
在 Google Cloud 控制台中,前往 Service Directory 命名空间页面。
- 点击创建命名空间。
- 在区域列表中,为您的命名空间选择一个区域。
- 在命名空间名称字段中,为命名空间命名。
- 点击创建。
创建命名空间
gcloud service-directory namespaces create NAMESPACE \ --location REGION
替换以下内容:
NAMESPACE
:您要创建的命名空间的名称。REGION
:包含命名空间的 Google Cloud 区域。
可选:为命名空间设置 IAM 政策。这会向指定用户或群组授予对相应命名空间以及属于该命名空间的所有服务的指定角色。
gcloud service-directory namespaces add-iam-policy-binding NAMESPACE \ --member user:[email protected] \ --role ROLE \ --location REGION
替换以下内容:
NAMESPACE
:您创建的命名空间的名称。ROLE
:您要授予的角色。REGION
:包含命名空间的 Google Cloud 区域。
- 服务名称在命名空间中必须是唯一的。
- 服务名称必须遵循 DNS 标签的命名惯例。
在 Google Cloud 控制台中,前往Service Directory页面。
- 点击注册服务。
- 点击标准,然后点击下一步。
- 选择要注册服务的区域。
- 选择要在其中注册服务的命名空间。
如果您没有命名空间,请按以下步骤创建一个:
- 在命名空间框中,点击创建命名空间。
- 输入命名空间名称。
- 点击创建。
- 输入服务名称。
- 可选:如果您想向服务添加注释,请执行以下操作:
- 点击添加注解。
- 添加键和值。
- 如需添加更多注解,请再次点击添加注解。
- 点击创建。
在命名空间中创建服务。
gcloud service-directory services create SERVICE \ --annotations KEY_1=VALUE_1,KEY_2=VALUE_2 \ --namespace NAMESPACE \ --location REGION
替换以下内容:
SERVICE
:您要创建的服务的名称。NAMESPACE
:包含您的服务的命名空间的名称。REGION
:包含命名空间的 Google Cloud 区域。KEY_1
、VALUE_1
、KEY_2
、VALUE_2
:以键值对形式设置的键和值字符串。
可选:为您的服务设置 IAM 政策。这会为指定用户或群组授予此服务以及属于该服务的所有端点的指定角色。
gcloud service-directory services add-iam-policy-binding SERVICE \ --member user:[email protected] \ --role ROLE \ --namespace NAMESPACE \ --location REGION
替换以下内容:
SERVICE
:您为服务指定的名称。NAMESPACE
:包含您的服务的命名空间的名称ROLE
:您要授予的角色。REGION
:包含命名空间的 Google Cloud 区域。
在 Google Cloud 控制台中,前往Service Directory页面。
- 点击一项服务。
- 点击添加端点。
- 提供端点名称。
- 输入 IPv4 或 IPv6 IP 地址。
- 输入端口号。
- 可选:如果您想向端点添加注释,请执行以下操作:
- 在注解下,点击添加注解。
- 添加键和值。
- 如需添加更多注解,请再次点击添加注解。
- 点击创建。
ENDPOINT
和ENDPOINT2
:您要在服务中创建的端点的名称。IP_ADDRESS
和IP_ADDRESS2
:端点的 IPv6 和 IPv4 地址(分别)。PORT_NUMBER
和PORT_NUMBER2
:端点运行所在的端口。SERVICE
:包含端点的服务的名称。NAMESPACE
:包含您的服务的命名空间的名称。REGION
:包含命名空间的 Google Cloud 区域。KEY_1
、VALUE_1
、KEY_2
、VALUE_2
:成对设置的键和值字符串。SERVICE
:您要解析的服务的名称。NAMESPACE
:包含您的服务的命名空间的名称。REGION
:包含命名空间的 Google Cloud 区域。在 Google Cloud 控制台中,前往Service Directory页面。
- 点击要删除端点的服务。
- 选中要删除的端点旁边的复选框。
- 点击删除。
- 在确认对话框中,再次点击删除。
ENDPOINT
:您要删除的端点的名称。SERVICE
:包含端点的服务的名称。NAMESPACE
:包含您的服务的命名空间的名称。REGION
:包含命名空间的 Google Cloud 区域。在 Google Cloud 控制台中,前往Service Directory页面。
- 选中要删除的服务旁边的复选框。
- 点击删除。
- 在确认对话框中,再次点击删除。
SERVICE
:您要删除的服务的名称。NAMESPACE
:包含您的服务的命名空间的名称。REGION
:包含命名空间的 Google Cloud 区域。在 Google Cloud 控制台中,前往 Service Directory 命名空间页面。
- 选中要删除的命名空间旁边的复选框。
- 点击删除。
- 在确认对话框中,再次点击删除。
NAMESPACE
:您要删除的命名空间的名称。REGION
:包含命名空间的 Google Cloud 区域。- 如需配置 Service Directory 区域,以便您可以使用 DNS 查询服务,请参阅配置 Service Directory 区域。
- 如需简要了解 Service Directory,请参阅 Service Directory 概览。
- 如需了解您在使用 Service Directory 时可能会遇到的常见问题的解决方案,请参阅问题排查。
配置 Service Directory 资源
如需使用服务填充 Service Directory,请创建一个命名空间,并在该命名空间中注册您的服务。
配置命名空间
为您的项目在所在区域中创建一个命名空间。 此区域不必是所有服务和端点运行的区域,但应尽可能靠近。
您可以在任何 Service Directory 区域中注册服务;这些服务仍然可以在全球范围内解析。 在一个区域内,项目可以有多个命名空间,这些命名空间可以位于不同的区域。单个命名空间无法跨越多个区域。
控制台
gcloud
如需在命令行上使用 Service Directory,请先安装或升级到最新版本的 Google Cloud CLI。
C#
要运行此代码,请先设置 C# 开发环境并安装 Service Directory C# SDK。
Go
如需运行此代码,请先设置 Go 开发环境并安装 Service Directory Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Service Directory Java SDK。
Node.js
PHP
要运行此代码,请先设置 PHP 开发环境并安装 Service Directory PHP SDK。
Python
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Service Directory Ruby SDK。
配置服务
在命名空间中创建服务。服务由名称和可选的服务相关注释组成。服务名称的格式有一些限制:
如需创建 Private Service Connect 转发规则并将其注册为 Service Directory 中的服务,请参阅向 Service Directory 注册 Private Service Connect 端点。
如需向 Service Directory 注册标准服务,请按照以下步骤操作:
控制台
gcloud
如需在命令行上使用 Service Directory,请先安装或升级到最新版本的 Google Cloud CLI。
C#
要运行此代码,请先设置 C# 开发环境并安装 Service Directory C# SDK。
Go
如需运行此代码,请先设置 Go 开发环境并安装 Service Directory Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Service Directory Java SDK。
Node.js
PHP
要运行此代码,请先设置 PHP 开发环境并安装 Service Directory PHP SDK。
Python
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Service Directory Ruby SDK。
配置端点
注册服务后,添加一些端点。端点由唯一名称、可选的 IP 地址和端口以及键值注释组成。 如果指定了 IP 地址,则该地址必须是有效的 IPv4 或 IPv6 地址。
控制台
gcloud
如需在命令行上使用 Service Directory,请先安装或升级到最新版本的 Google Cloud CLI。
注册服务后,添加一些端点。
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
替换以下内容:
C#
要运行此代码,请先设置 C# 开发环境并安装 Service Directory C# SDK。
Go
如需运行此代码,请先设置 Go 开发环境并安装 Service Directory Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Service Directory Java SDK。
Node.js
PHP
要运行此代码,请先设置 PHP 开发环境并安装 Service Directory PHP SDK。
Python
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Service Directory Ruby SDK。
解析服务
借助 Service Directory,客户端可以使用 DNS、HTTP 和 gRPC 解析服务。解析服务会返回该服务的所有属性、所有端点和所有注释。
gcloud
如需在命令行上使用 Service Directory,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud service-directory services resolve SERVICE \ --namespace NAMESPACE \ --location REGION
替换以下内容:
C#
要运行此代码,请先设置 C# 开发环境并安装 Service Directory C# SDK。
Go
如需运行此代码,请先设置 Go 开发环境并安装 Service Directory Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Service Directory Java SDK。
Node.js
PHP
要运行此代码,请先设置 PHP 开发环境并安装 Service Directory PHP SDK。
Python
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Service Directory Ruby SDK。
删除资源
如果您不需要某个资源,可以从 Service Directory 中将其删除。
从服务中删除端点
控制台
gcloud
如需在命令行上使用 Service Directory,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud service-directory endpoints delete ENDPOINT \ --service=SERVICE \ --namespace=NAMESPACE \ --location=REGION
替换以下内容:
C#
要运行此代码,请先设置 C# 开发环境并安装 Service Directory C# SDK。
Go
如需运行此代码,请先设置 Go 开发环境并安装 Service Directory Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Service Directory Java SDK。
Node.js
PHP
要运行此代码,请先设置 PHP 开发环境并安装 Service Directory PHP SDK。
Python
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Service Directory Ruby SDK。
从命名空间中删除服务
您可以删除具有端点的服务。删除服务时,其所有端点也会一并删除。
您可以删除具有指向它的 Service Directory 区域的服务。针对该服务的任何后续 DNS 查询都会返回 NXDOMAIN
。
控制台
gcloud
如需在命令行上使用 Service Directory,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud service-directory services delete SERVICE \ --namespace=NAMESPACE \ --location=REGION
替换以下内容:
C#
要运行此代码,请先设置 C# 开发环境并安装 Service Directory C# SDK。
Go
如需运行此代码,请先设置 Go 开发环境并安装 Service Directory Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Service Directory Java SDK。
Node.js
PHP
要运行此代码,请先设置 PHP 开发环境并安装 Service Directory PHP SDK。
Python
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Service Directory Ruby SDK。
删除命名空间
您可以删除包含服务和端点的命名空间。删除命名空间时,其所有服务和端点也会一并删除。
您可以删除具有指向它的 Service Directory 可用区的命名空间。任何进一步的 DNS 查询(不包括针对区域来源的 SOA/NS 请求)都会返回 NXDOMAIN
。
控制台
gcloud
如需在命令行上使用 Service Directory,请先安装或升级到最新版本的 Google Cloud CLI。
gcloud service-directory namespaces delete NAMESPACE \ --location=REGION
替换以下内容:
C#
要运行此代码,请先设置 C# 开发环境并安装 Service Directory C# SDK。
Go
如需运行此代码,请先设置 Go 开发环境并安装 Service Directory Go SDK。
Java
要运行此代码,请先设置 Java 开发环境并安装 Service Directory Java SDK。
Node.js
PHP
要运行此代码,请先设置 PHP 开发环境并安装 Service Directory PHP SDK。
Python
Ruby
要运行此代码,请先设置 Ruby 开发环境并安装 Service Directory Ruby SDK。