本文档介绍了如何在 Google Distributed Cloud (GDC) 气隙环境中的多个可用区内管理资源。无论是 GDC 控制台、gdcloud CLI、API 还是 Terraform,每个界面都提供了相应的机制,用于在指定可用区内管理可用区级资源,或在全球范围内管理支持全球预配的资源。在多可用区环境中,您必须管理可用区级资源和全球性资源,以实现高可用性。
本文档面向以下受众群体:
- 平台管理员(例如 IT 管理员),负责开发灾难恢复工作流。
- 应用运维人员(例如应用开发者),负责在 GDC 环境中开发和维护应用。
如需了解详情,请参阅 GDC 气隙环境文档的受众群体。
准备工作
在跨可用区管理资源之前,您必须根据首选界面完成以下前提条件:
- 如需使用 Distributed Cloud CLI, 请安装 gdcloud CLI。
- 如需部署可用区级和全球 API 自定义资源,
请安装
kubectl组件。 - 如需使用 Terraform, 请配置 Terraform Kubernetes 提供方。
切换到全局上下文
如需管理跨所有可用区的资源或支持全球预配的资源,请切换到全局上下文。
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) 证书。如需了解详情,请参阅 Web TLS 证书配置。
API
在管理或预配全局 KRM API 自定义资源时,您必须在 kubectl 命令中明确定义全局管理 API 服务器的 kubeconfig 文件。例如:
kubectl apply -f resource.yaml --kubeconfig GLOBAL_API_SERVER
您可以通过将 kubectl 上下文设置为全局 API 服务器,自动为 API 调用设置全局上下文。如需了解详情,请参阅 全局 API 服务器资源。
Terraform
您必须在 Terraform 模块中明确定义全局管理 API 服务器并对其进行初始化:
在模块中的 Terraform 文件(例如
main.tf文件)中定义全局管理 API 服务器的 kubeconfig 文件:provider "kubernetes" { config_path = "GLOBAL_API_SERVER" }如需详细了解如何获取全局 API 服务器的 kubeconfig 文件,请参阅 全局 API 服务器资源。
为 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替换为要为上下文设置的可用区的名称。如需了解详情,请参阅 列出环境中的可用区。
将默认组织控制台网址设置为可用区级网址:
gdcloud config set core/organization_console_url ZONAL_URL登录可用区:
gdcloud auth login --login-config-cert=CA_CERT将
CA_CERT替换为安装在系统受信任证书存储区中的证书授权机构 (CA) 证书。如需了解详情,请参阅 Web TLS 证书配置。
运行 gdcloud CLI 命令时,请添加
--zone标志。 例如:gdcloud auth print-identity-token --zone=ZONE_NAME您可以为任何支持
--zone标志的命令设置该标志。如需检查特定命令是否提供--zone标志,请参阅 gdcloud CLI 参考文档。您可以从任何全局上下文或可用区级上下文使用
--zone标志。
API
在管理或预配可用区级 KRM API 自定义资源时,您必须在 kubectl 命令中明确定义可用区级管理 API 服务器的 kubeconfig 文件。例如:
kubectl apply -f resource.yaml --kubeconfig ZONAL_API_SERVER
您可以通过将 kubectl 上下文设置为可用区的管理 API 服务器,自动为 API 调用设置可用区级上下文。如需了解详情,请参阅 可用区级管理 API 服务器资源。
Terraform
您必须在 Terraform 模块中明确定义可用区级管理 API 服务器并对其进行初始化:
在模块中的 Terraform 文件(例如
main.tf文件)中定义可用区级管理 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 服务器和可用区级 API 服务器 。
- 浏览 高可用性指南 ,确保您的应用能够应对本地可用区故障。
- 访问 gdcloud CLI 参考页面 ,查看可用的 gdcloud CLI 命令的完整列表。
- 如需配置 Terraform,请参阅 Terraform 概览。