配置可用区级 Cloud DNS 集群范围可用区

本页面介绍如何使用 Cloud DNS 配置可用区级 Google Kubernetes Engine (GKE) 集群范围可用区。

如需使用 Cloud DNS 配置可用区级 GKE 集群范围 DNS 可用区,请先选择现有的专用 DNS 可用区或新建用于附加特定 GKE 集群的专用 DNS 可用区。接下来,配置 DNS 可用区以引用 GKE 集群的名称。

如需大致了解可用区级 Cloud DNS 可用区,请参阅可用区级 Cloud DNS 可用区。如需详细了解范围,请参阅范围和层次结构

为可用区级 GKE 集群创建可用区级专用可用区

如需使用 Cloud DNS 为可用区级 GKE 集群创建新的代管式可用区级专用可用区,请按照以下步骤操作。

gcloud

运行 gcloud beta dns managed-zones create 命令:

gcloud beta dns managed-zones create NAME \
    --description=DESCRIPTION \
    --visibility=private \
    --gkeclusters=GKE_CLUSTER \
    --location=LOCATION

请替换以下内容:

  • NAME:您的可用区的名称
  • DESCRIPTION:您的可用区的说明
  • GKE_CLUSTER 是 GKE 集群的完全限定资源路径,例如 projects/my-project/locations/us-east1-a/clusters/my-cluster
  • LOCATION:GKE 集群的位置,尤其是集群所在的 Google Cloud 可用区,例如 us-east1-a

API

使用 managedZones.create 方法发送 POST 请求:

POST https://www.googleapis.com/dns/v2/projects/PROJECT_ID/locations/LOCATION/managedZones
{

"name": "NAME",
"description": "DESCRIPTION",
"dnsName": "DNS_NAME",
"visibility": "private"
"privateVisibilityConfig": {
    "kind": "dns#managedZonePrivateVisibilityConfig",
    "gkeClusters": [{
            "kind": "dns#managedZonePrivateVisibilityConfigGKEClusters",
            "gkeClusterName": GKE_CLUSTER_NAME_1
        },
        {
            "kind": "dns#managedZonePrivateVisibilityConfigGKEClusters",
            "gkeClusterName": GKE_CLUSTER_NAME_2
        },
        ....
    ]
  }
}

请替换以下内容:

  • PROJECT_ID:您已创建托管地区的项目的 ID
  • NAME:您的可用区的名称
  • DESCRIPTION:您的可用区的说明
  • DNS_NAME:您的可用区的 DNS 后缀,例如 example.private
  • GKE_CLUSTER_NAME_1GKE_CLUSTER_NAME_2:GKE 集群的完全限定资源路径,例如 projects/my-project/locations/us-east1-a/clusters/my-cluster
  • LOCATION:GKE 集群的位置,尤其是集群所在的 Google Cloud 可用区,例如 us-east1-a

授权 GKE 集群查询可用区级 Cloud DNS 专用可用区

如需授权可用区 GKE 集群查询现有 Cloud DNS 专用可用区,请按照下列步骤操作。

gcloud

运行 gcloud beta dns managed-zones update 命令:

gcloud beta dns managed-zones update NAME \
    --gkeclusters=GKE_CLUSTER  \
    --location=LOCATION

请替换以下内容:

  • NAME:您的地区的名称,例如 my-zone
  • GKE_CLUSTER 是 GKE 集群的完全限定资源路径,例如 projects/my-project/locations/us-east1-a/clusters/my-cluster
  • LOCATION:GKE 集群的位置,尤其是集群所在的 Google Cloud 可用区,例如 us-east1-a。代管式可用区仅在此 Google Cloud 可用区中可见。

API

使用 managedZones.patch 方法发送 PATCH 请求:

PATCH https://www.googleapis.com/dns/v2/projects/PROJECT_ID/locations/LOCATION/managedZones/NAME
{
"privateVisibilityConfig": {
    "gkeClusters": [{
            "kind": "dns#managedZonePrivateVisibilityConfigGKEClusters",
            "gkeClusterName": GKE_CLUSTER_NAME_1
        },
        {
            "kind": "dns#managedZonePrivateVisibilityConfigGKEClusters",
            "gkeClusterName": GKE_CLUSTER_NAME_2
        },
        ....
    ]
  }
}

请替换以下内容:

  • PROJECT_ID:您已创建托管地区的项目的 ID
  • NAME:您的地区的名称,例如 my-zone
  • GKE_CLUSTER_NAME_1GKE_CLUSTER_NAME_2:GKE 集群的完全限定资源路径,例如 projects/my-project/locations/us-east1-a/clusters/my-cluster
  • LOCATION:GKE 集群的位置,尤其是集群所在的 Google Cloud 可用区,例如 us-east1-a。代管式可用区仅在此 Google Cloud 可用区中可见。

配置可用区级 GKE 集群以查询可用区级响应政策

如需将可用区级 GKE 集群配置为查询可用区级响应政策,请按照下列步骤操作。

gcloud

运行 gcloud beta dns response-policies create 命令:

gcloud beta dns response-policies create NAME \
    --description=DESCRIPTION \
    --gkeclusters=GKE_CLUSTER  \
    --location=LOCATION

请替换以下内容:

  • NAME:响应政策的名称,例如 my-response-policy
  • DESCRIPTION:响应政策的说明,例如 my-response-policy-for-gke-5
  • GKE_CLUSTER 是 GKE 集群的完全限定资源路径,例如 projects/my-project/locations/us-east1-a/clusters/my-cluster
  • LOCATION:GKE 集群的位置,尤其是集群所在的 Google Cloud 可用区,例如 us-east1-a。代管式可用区仅在此 Google Cloud 可用区中可见。

API

使用 responsePolicies.create 方法发送 POST 请求:

POST https://www.googleapis.com/dns/v2/projects/PROJECT_ID/locations/LOCATION/responsePolicies
{
  "responsePolicyName": "NAME",
  "description": "DESCRIPTION",
  "gkeClusters": [
    {
      "kind": "dns#responsePolicyGKECluster",
      "gkeClusterName": "GKE_CLUSTER"
    },
  ]
}

请替换以下内容:

  • NAME:响应政策的名称,例如 my-response-policy
  • DESCRIPTION:响应政策的说明,例如 my-response-policy-for-gke-5
  • GKE_CLUSTER 是 GKE 集群的完全限定资源路径,例如 projects/my-project/locations/us-east1-a/clusters/my-cluster
  • LOCATION:GKE 集群的位置,尤其是集群所在的 Google Cloud 可用区,例如 us-east1-a。代管式可用区仅在此 Google Cloud 可用区中可见。

后续步骤