本文說明如何在 Google Distributed Cloud (GDC) 實體隔離環境中,管理多個可用區的資源。無論是 GDC 控制台、gdcloud CLI、API 還是 Terraform,每個介面都提供適當機制,可管理指定可用區中的可用區資源,或全域佈建資源。在多可用區 Universe 中,您必須管理可用區和全域資源,以確保高可用性。
本文適用於下列目標對象群組:
- 負責開發災難復原工作流程的平台管理員,例如 IT 管理員。
- 應用程式操作員,例如應用程式開發人員,負責在 GDC 宇宙中開發及維護應用程式。
詳情請參閱「GDC 實體隔離方案說明文件的目標對象」。
事前準備
如要跨可用區管理資源,請先根據偏好的介面完成下列必要條件:
- 如要使用 Distributed Cloud CLI,請安裝 gdcloud CLI。
- 如要部署可用區和全域 API 自訂資源,請安裝
kubectl元件。 - 如要使用 Terraform,請設定 Terraform Kubernetes 供應商。
切換至全域情境
如要管理涵蓋所有可用區或支援全域佈建的資源,請切換至全域環境。
控制台
如要設定全域情境,請前往全域網址,語法如下:
https://console.ORG_NAME.SUFFIX
前往全域網址,即可查看各可用區資源的全域檢視畫面。
gdcloud
初始化 gdcloud CLI 預設設定時,會使用 organization_console_url 參數設定全域網址。除非您已明確設定可用區環境,否則系統會假設為全域環境。
如要還原為全域網址,請完成下列步驟:
將預設機構控制台網址設為全域網址:
gdcloud config set core/organization_console_url GLOBAL_URL登入全域情境:
gdcloud auth login --login-config-cert=CA_CERT將
CA_CERT替換為安裝在系統信任憑證存放區中的憑證授權單位 (CA) 憑證。詳情請參閱「網頁 TLS 憑證設定」。
API
管理或佈建全域 KRM API 自訂資源時,您必須在 kubectl 指令中明確定義全域 Management API 伺服器的 kubeconfig 檔案。例如:
kubectl apply -f resource.yaml --kubeconfig GLOBAL_API_SERVER
您可以將 kubectl 內容設為全域 API 伺服器,自動設定 API 呼叫的全域內容。詳情請參閱「全域 API 伺服器資源」。
Terraform
您必須在 Terraform 模組中明確定義全域管理 API 伺服器,並加以初始化:
在模組的 Terraform 檔案 (例如
main.tf檔案) 中,定義全域 Management API 伺服器的 kubeconfig 檔案:provider "kubernetes" { config_path = "GLOBAL_API_SERVER" }如要進一步瞭解如何取得全域 API 伺服器的 kubeconfig 檔案,請參閱「全域 API 伺服器資源」。
為 Terraform 模組套用新的全域情境:
terraform apply
所有後續的 Terraform 動作都會在全域環境中呼叫。
切換至可用區環境
如要管理特定可用區內託管的資源,請切換至可用區環境。
控制台
如要設定可用區情境,請前往可用區網址,語法如下:
https://console.ORG_NAME.ZONE.SUFFIX
前往可用區網址,查看託管於單一可用區內的資源。
許多資源頁面也提供可用區範圍挑選器,可讓您在 GDC 控制台頁面中切換可用區。

從提供的機制中選取可用區情境,即可查看及管理可用區資源。
gdcloud
使用 gdcloud CLI 時,系統預設會設定全域內容,因此您必須明確設定可用區內容,才能操作可用區資源。視您偏好的工作流程而定,您可以透過下列三種方式之一執行這項操作:
- 設定預設可用區:如果您主要在可用區環境中工作,建議使用此設定。
- 設定可用區網址:如果您打算經常切換全域和可用區環境,建議採用這個方法。
- 套用
--zone旗標: 如果想直接套用可用區環境,而不更新任何 gdcloud CLI 設定,建議使用這個方法。
請按照下列步驟,套用其中一種方法:
設定 gdcloud CLI 執行個體的可用區:
gdcloud config set core/zone ZONE_NAME將
ZONE_NAME替換為要為情境設定的區域名稱。詳 y 請參閱「列出宇宙中的可用區」。
將預設組織控制台網址設為可用區網址:
gdcloud config set core/organization_console_url ZONAL_URL登入區域:
gdcloud auth login --login-config-cert=CA_CERT將
CA_CERT替換為安裝在系統信任憑證存放區中的憑證授權單位 (CA) 憑證。詳情請參閱「網路 TLS 憑證設定」。
執行 gdcloud CLI 指令,並加入
--zone旗標。例如:gdcloud auth print-identity-token --zone=ZONE_NAME您可以為任何支援
--zone旗標的指令設定該旗標。如要確認特定指令是否提供--zone旗標,請參閱 gdcloud CLI 參考文件。您可以在任何全域或可用區環境中使用
--zone旗標。
API
管理或佈建可用區 KRM API 自訂資源時,您必須在 kubectl 指令中,明確定義可用區 Management API 伺服器的 kubeconfig 檔案。例如:
kubectl apply -f resource.yaml --kubeconfig ZONAL_API_SERVER
您可以將 kubectl 內容設為可用區的 Management API 伺服器,自動設定 API 呼叫的可用區內容。詳情請參閱「可用區 Management API 伺服器資源」。
Terraform
您必須在 Terraform 模組中明確定義可用區 Management API 伺服器,並加以初始化:
在模組的 Terraform 檔案 (例如
main.tf檔案) 中,定義可用區 Management API 伺服器的 kubeconfig 檔案:provider "kubernetes" { config_path = "ZONAL_API_SERVER" }如要進一步瞭解如何取得可用區管理 API 伺服器的 kubeconfig 檔案,請參閱「可用區管理 API 伺服器資源」。
為 Terraform 模組套用新的全域情境:
terraform apply
所有後續的 Terraform 動作都會在您設定的可用區環境中呼叫。
列出宇宙中的可用區
如要管理多個可用區的可用區資源,您必須瞭解宇宙中的所有可用區。
列出宇宙中的所有可用區:
gdcloud zones list輸出看起來類似以下內容:
METADATA.NAME us-east1-a us-east1-b us-east1-c
後續步驟
- 瞭解 GDC 宇宙中可用的全域和可用區 API 伺服器。
- 請參閱高可用性指南,確保應用程式在本地可用區故障時仍能正常運作。
- 如需可用的 gdcloud CLI 指令完整清單,請參閱 gdcloud CLI 參考資料頁面。
- 如要設定 Terraform,請參閱「Terraform 總覽」。