本文說明如何在 Google Distributed Cloud (GDC) 實體隔離環境中,管理多個可用區的資源。無論是 GDC 控制台、gdcloud CLI、API 或 Terraform,每個介面都會提供適當的機制,讓您在指定區域中管理區域資源,或在全球管理支援全球佈建的資源。在多區域的環境中,您必須管理區域和全域資源,才能確保高可用性。
本文適用於平台管理員群組中的 IT 管理員,負責開發災難復原工作流程;以及應用程式運算子群組中的應用程式開發人員,負責在 GDC 領域中開發及維護應用程式。
詳情請參閱 GDC air-gapped 說明文件適用對象。
切換至全域環境
切換至全域環境,即可全域管理資源。
GDC 控制台
如要設定全域環境,請前往全域網址,語法如下:
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 指令中,明確定義全域管理 API 伺服器的 kubeconfig 檔案。例如:
kubectl apply -f resource.yaml --kubeconfig GLOBAL_API_SERVER
將 kubectl 環境設為全域 API 伺服器,即可自動為 API 呼叫設定全域環境。詳情請參閱「登入」一文。
Terraform
您必須在 Terraform 模組中明確定義全域管理 API 伺服器,並加以初始化:
在模組內的 Terraform 檔案中 (例如
main.tf
檔案),定義全域管理 API 伺服器的 kubeconfig 檔案:provider "kubernetes" { config_path = "GLOBAL_API_SERVER" }
如要進一步瞭解如何取得全域管理 API 伺服器的 kubeconfig 檔案,請參閱「登入」一文。
為 Terraform 模組套用新的全域環境:
terraform apply
所有後續的 Terraform 動作都會在全球環境中呼叫。
切換至可用區環境
切換至區域環境,即可管理特定區域的資源。
GDC 控制台
如要設定區域內容,請前往區域網址,語法如下:
https://console.ORG_NAME.ZONE.SUFFIX
前往區域網址,即可查看單一區域內託管的資源。
許多資源頁面也提供區域範圍選取器,可讓您在 GDC 控制台頁面中切換區域環境。
透過提供的機制選取區域環境,即可查看及管理區域資源。
gdcloud
使用 gdcloud CLI 時,系統預設會設定全域環境,因此您必須明確設定區域環境,才能操控區域資源。您可以透過下列三種方式執行這項動作,視您偏好的工作流程而定:
- 設定預設可用區:建議您主要在可用區環境中工作時使用。
- 設定區域網址設定:如果您打算經常在全域和區域環境之間切換,建議採用這項設定。
- 套用
--zone
標記: 建議使用這個方法,因為您可以彈性地直接套用區域環境,不必更新任何 gdcloud CLI 設定。
如要採用其中一種方法,請完成下列步驟:
為 gdcloud CLI 執行個體設定可用區:
gdcloud config set core/zone ZONE_NAME
將
ZONE_NAME
替換為要為環境設定的區域名稱。如需尋找可用區名稱的操作說明,請參閱「列出 Universe 中的可用區」。
將預設機構控制台網址設為區域網址:
gdcloud config set core/organization_console_url ZONAL_URL
登入區域:
gdcloud auth login --login-config-cert=CA_CERT
將
CA_CERT
替換為安裝在系統信任憑證存放區中的憑證授權單位 (CA) 憑證。詳情請參閱「Web TLS certificate configuration」。
執行 gcloud CLI 指令,並加入
--zone
旗標。 例如:gdcloud auth print-identity-token --zone=ZONE_NAME
您可以為任何支援的指令設定
--zone
標記。查看特定指令的 gcloud CLI 參考說明文件,確認--zone
標記是否可用。您可以從任何全域或區域環境使用
--zone
旗標。
API
管理或佈建區域 KRM API 自訂資源時,您必須在 kubectl 指令中,明確定義區域管理 API 伺服器的 kubeconfig 檔案。例如:
kubectl apply -f resource.yaml --kubeconfig ZONAL_API_SERVER
將 kubectl 環境定義設為區域的管理 API 伺服器,即可自動為 API 呼叫設定區域環境定義。詳情請參閱「登入」一文。
Terraform
您必須在 Terraform 模組中明確定義區域管理 API 伺服器,並加以初始化:
在模組的 Terraform 檔案中 (例如
main.tf
檔案),定義區域管理 API 伺服器的 kubeconfig 檔案:provider "kubernetes" { config_path = "ZONAL_API_SERVER" }
如要進一步瞭解如何取得區域管理 API 伺服器的 kubeconfig 檔案,請參閱「登入」一文。
為 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 總覽。