配置 GKE 集群范围

本页面介绍了如何使用 Cloud DNS 来配置 Google Kubernetes Engine 集群范围。

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

如需详细了解范围,请参阅范围和层次结构

为 GKE 集群创建专用可用区

如需使用 Cloud DNS 为 GKE 集群创建新的托管专用地区,请完成以下步骤。

gcloud

运行 gcloud dns managed-zones create 命令

gcloud dns managed-zones create NAME \
    --dns-name=DNS_NAME \
    --visibility=private \
    --gkeclusters=GKE_CLUSTER

请替换以下内容:

  • NAME:您的可用区的名称
  • DNS_NAME:您的可用区的 DNS 后缀,例如 example.private.
  • GKE_CLUSTER:GKE 集群的完全限定资源路径,例如 projects/my-project/locations/us-east1a/clusters/my-cluster

API

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

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/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-east1a/clusters/my-cluster

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

如需授权 GKE 集群查询现有 Cloud DNS 专用地区,请完成以下步骤。

gcloud

运行 gcloud dns managed-zones update 命令

gcloud dns managed-zones update NAME \
    --gkeclusters=GKE_CLUSTER

请替换以下内容:

  • NAME:您的地区的名称,例如 my-zone
  • GKE_CLUSTER: GKE 集群(如 projects/my-project/locations/us-east1a/clusters/my-cluster

API

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

PATCH https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/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-east1a/clusters/my-cluster

配置 GKE 集群以查询响应政策

如需配置 GKE 集群以查询响应政策,请完成以下步骤。

gcloud

运行 gcloud dns response-policies create 命令

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

请替换以下内容:

  • NAME:响应政策的名称,例如 my-response-policy
  • DESCRIPTION:响应政策的说明,例如 "my-response-policy-for-gke-5"
  • GKE_CLUSTER:GKE 集群的完全限定资源路径,例如 projects/my-project/locations/us-east1a/clusters/my-cluster

API

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

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/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-east1a/clusters/my-cluster

后续步骤