本頁面說明如何設定 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 namespaces」頁面。
- 按一下「建立命名空間」。
- 在「Region」(區域) 清單中,選取命名空間所在的區域。
- 在「命名空間名稱」欄位中,為命名空間命名。
- 點選「建立」。
建立命名空間
gcloud service-directory namespaces create NAMESPACE \ --location REGION
更改下列內容:
NAMESPACE
:您要建立的命名空間名稱。REGION
:包含命名空間的 Google Cloud 區域。
選用:在命名空間中設定 IAM 政策。這樣一來,指定使用者或群組就會獲得這個命名空間和所有屬於該命名空間的服務的指定角色。
gcloud service-directory namespaces add-iam-policy-binding NAMESPACE \ --member user:someone@example.com \ --role ROLE \ --location REGION
更改下列內容:
NAMESPACE
:您建立的命名空間名稱。ROLE
:您要授予的角色。REGION
:包含命名空間的 Google Cloud 區域。
- 命名空間中的服務名稱不得重複。
- 服務名稱必須遵循 DNS 標籤的命名慣例。
前往 Google Cloud 控制台的「Service Directory」頁面。
- 按一下「Register Service」(註冊服務)。
- 點選「標準」,然後點選「下一步」。
- 選擇要註冊服務的區域。
- 選擇要註冊服務的命名空間。
如果沒有命名空間,請按照下列步驟建立:
- 在「命名空間」方塊中,按一下「建立命名空間」。
- 輸入命名空間名稱。
- 按一下「建立」,
- 輸入「服務名稱」。
- 選用:如要為服務新增註解,請按照下列步驟操作:
- 按一下「新增備註」。
- 新增「鍵」和「值」。
- 如要新增更多註解,請再次按一下「新增註解」。
- 點選「建立」。
在命名空間中建立服務。
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:someone@example.com \ --role ROLE \ --namespace NAMESPACE \ --location REGION
更改下列內容:
SERVICE
:您為服務指定的名稱。NAMESPACE
:包含服務的命名空間名稱ROLE
:您要授予的角色。REGION
:包含命名空間的 Google Cloud 區域。
前往 Google Cloud 控制台的「Service Directory」頁面。
- 按一下所需服務。
- 按一下「新增端點」。
- 提供「Endpoint name」(端點名稱)。
- 輸入 IPv4 或 IPv6 IP 位址。
- 輸入「Port」(通訊埠) 編號。
- 選用:如要為端點新增註解,請按照下列步驟操作:
- 在「備註」下方,按一下「新增備註」。
- 新增「鍵」和「值」。
- 如要新增更多註解,請再次按一下「新增註解」。
- 點選「建立」。
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 namespaces」頁面。
- 在要刪除的命名空間旁,選取核取方塊。
- 點選「刪除」。
- 在確認對話方塊中,再次按一下「刪除」。
NAMESPACE
:要刪除的命名空間名稱。REGION
:包含命名空間的 Google Cloud 區域。- 如要設定 Service Directory 區域,以便使用 DNS 查詢服務,請參閱「設定 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
如要執行這段程式碼,請先設定 Node.js 開發環境,並安裝 Service Directory Node.js SDK。
PHP
如要執行這段程式碼,請先設定 PHP 開發環境,然後安裝 Service Directory PHP SDK。
Python
如要執行這段程式碼,請先設定 Python 開發環境,然後安裝 Service Directory Python SDK。
Ruby
如要執行這段程式碼,請先設定 Ruby 開發環境,然後安裝 Service Directory Ruby SDK。
設定服務
在命名空間中建立服務。服務包含名稱和選用的服務相關註解。服務名稱的格式有一些限制:
如要建立 Private Service Connect 轉送規則,並在 Service Directory 中將其註冊為服務,請參閱「在 Service Directory 中註冊 Private Service Connect 端點」。
如要向服務目錄註冊標準服務,請按照下列步驟操作:
控制台
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
如要執行這段程式碼,請先設定 Node.js 開發環境,並安裝 Service Directory Node.js SDK。
PHP
如要執行這段程式碼,請先設定 PHP 開發環境,然後安裝 Service Directory PHP SDK。
Python
如要執行這段程式碼,請先設定 Python 開發環境,然後安裝 Service Directory Python SDK。
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
如要執行這段程式碼,請先設定 Node.js 開發環境,並安裝 Service Directory Node.js SDK。
PHP
如要執行這段程式碼,請先設定 PHP 開發環境,然後安裝 Service Directory PHP SDK。
Python
如要執行這段程式碼,請先設定 Python 開發環境,然後安裝 Service Directory Python SDK。
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
如要執行這段程式碼,請先設定 Node.js 開發環境,並安裝 Service Directory Node.js SDK。
PHP
如要執行這段程式碼,請先設定 PHP 開發環境,然後安裝 Service Directory PHP SDK。
Python
如要執行這段程式碼,請先設定 Python 開發環境,然後安裝 Service Directory Python SDK。
Ruby
如要執行這段程式碼,請先設定 Ruby 開發環境,然後安裝 Service Directory Ruby SDK。
刪除資源
如果不需要資源,可以從服務目錄中刪除。
從服務中刪除端點
控制台
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
如要執行這段程式碼,請先設定 Node.js 開發環境,並安裝 Service Directory Node.js SDK。
PHP
如要執行這段程式碼,請先設定 PHP 開發環境,然後安裝 Service Directory PHP SDK。
Python
如要執行這段程式碼,請先設定 Python 開發環境,然後安裝 Service Directory Python SDK。
Ruby
如要執行這段程式碼,請先設定 Ruby 開發環境,然後安裝 Service Directory Ruby SDK。
從命名空間刪除服務
您可以刪除有端點的服務。刪除服務時,所有端點也會一併刪除。
您可以刪除指向服務目錄區域的服務。該服務的任何後續 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
如要執行這段程式碼,請先設定 Node.js 開發環境,並安裝 Service Directory Node.js SDK。
PHP
如要執行這段程式碼,請先設定 PHP 開發環境,然後安裝 Service Directory PHP SDK。
Python
如要執行這段程式碼,請先設定 Python 開發環境,然後安裝 Service Directory Python SDK。
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
如要執行這段程式碼,請先設定 Node.js 開發環境,並安裝 Service Directory Node.js SDK。
PHP
如要執行這段程式碼,請先設定 PHP 開發環境,然後安裝 Service Directory PHP SDK。
Python
如要執行這段程式碼,請先設定 Python 開發環境,然後安裝 Service Directory Python SDK。
Ruby
如要執行這段程式碼,請先設定 Ruby 開發環境,然後安裝 Service Directory Ruby SDK。