本页面将指导您完成以下操作:在 Google Distributed Cloud (GDC) 气隙环境中为新网域配置 DNS 解析。在 GDC 中,通过使用 DNS 区域。
本页面的目标受众是负责管理组织 DNS 解析的平台管理员和应用运维人员。
您可以在 GDC 环境中创建公开或专用 DNS 区域,以满足服务的可见性和访问要求:
- 对于需要外部网络可见性和访问权限的服务:设置公共 DNS 区域,以允许网络外部的用户和系统访问您的服务。如果您有网站、面向公众的 API 或任何需要从 GDC Cloud 环境外部访问的服务,则需要一个公共 DNS 区域,以便将您的域名映射到相应的 IP 地址。
- 对于需要安全且受限地访问内部系统的服务:设置专用 DNS 区域,以隐藏内部域名并限制对内部服务的访问。如果您有内部应用、数据库或微服务需要仅使用安全协议和专用 IP 地址与其他内部服务通信,则需要专用 DNS 区域将您的网域名称映射到相应的 IP 地址。专用 DNS 区域可确保这些服务能够使用内部网域名称相互查找,而不会向外部网络公开其存在或 IP 地址。这可增强安全性并简化内部网络。
如需详细了解公开 DNS 区域与专用 DNS 区域之间的区别,请参阅 Cloud DNS 的区域类型。
准备工作
如需在 GDC 中配置 DNS 区域并添加记录,您必须具备以下条件:
创建公共 DNS 区域
在 GDC 中使用 Kubernetes API 创建公共 DNS 区域:
创建并应用
ManagedDNSZone
资源,以创建可从 GDC 外部访问的 DNS 区域:kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF apiVersion: networking.global.gdc.goog/v1 kind: ManagedDNSZone metadata: name: DNS_ZONE_NAME namespace: PROJECT_NAMESPACE spec: dnsName: DOMAIN_NAME description: DESCRIPTION visibility: PUBLIC EOF
替换以下内容:
GLOBAL_API_SERVER
:全局 API 服务器的 kubeconfig 路径。如需了解详情,请参阅全球和可用区级 API 服务器。 如果您尚未为 API 服务器生成 kubeconfig 文件,请参阅登录了解详情。DNS_ZONE_NAME
:DNS 区域的名称。PROJECT_NAMESPACE
:项目的命名空间。DOMAIN_NAME
:公共 DNS 区域的域名,例如example.com
。DESCRIPTION
:DNS 区域的说明。 例如Public DNS zone for example.com
。此字段是可选字段。
对于公共 DNS 区域,您必须将网络中的 DNS 解析器配置为将该 DNS 区域的 DNS 请求转发到托管该 DNS 区域的 GDC 中的域名服务器。域名服务器列在
ManagedDNSZone
自定义资源的状态中:apiVersion: networking.global.gdc.goog/v1 kind: ManagedDNSZone metadata: name: public-example-com namespace: PROJECT_NAMESPACE spec: dnsName: example.com description: "Public DNS zone for example.com" visibility: PUBLIC status: … nameServers: - ns.managed-dns-public.gdc1.staging.gpcdemolabs.com
在此示例中,需要更新 DNS 解析器,以将对
example.com
的请求转发到ns.managed-dns-public.gdc1.staging.gpcdemolabs.com
。此配置假设解析器已具备适当转发 GDC 基础架构 DNS 区域gdc1.staging.gpcdemolabs.com
的 DNS 请求所需的配置。
创建专用 DNS 区域
使用 Kubernetes API 创建专用 DNS 区域:
创建并应用
ManagedDNSZone
资源,以创建仅可从默认客户 VPC 内部访问的 DNS 区域:kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF apiVersion: networking.global.gdc.goog/v1 kind: ManagedDNSZone metadata: name: DNS_ZONE_NAME namespace: PROJECT_NAMESPACE spec: dnsName: DOMAIN_NAME description: DESCRIPTION visibility: PRIVATE EOF
替换以下内容:
GLOBAL_API_SERVER
:全局 API 服务器的 kubeconfig 路径。如需了解详情,请参阅全球和可用区级 API 服务器。 如果您尚未为 API 服务器生成 kubeconfig 文件,请参阅登录了解详情。DNS_ZONE_NAME
:DNS 区域的名称。PROJECT_NAMESPACE
:项目的命名空间。DOMAIN_NAME
:私有 DNS 区域的域名,例如example.com
。DESCRIPTION
:DNS 区域的说明。 例如Private DNS zone for example.com
。此字段是可选字段。