创建 DNS 区域

本页面将指导您完成以下操作:在 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 区域并添加记录,您必须具备以下条件:

  • 现有项目。如需了解详情,请参阅创建项目
  • 必要的身份和访问权限角色。如需了解详情,请参阅准备 IAM 权限

创建公共 DNS 区域

在 GDC 中使用 Kubernetes API 创建公共 DNS 区域:

  1. 创建并应用 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。此字段是可选字段。
  2. 对于公共 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。此字段是可选字段。

后续步骤