本頁說明如何使用 Cloud DNS 設定可用區 Google Kubernetes Engine (GKE) 叢集範圍區域。
如要使用 Cloud DNS 設定可用區 GKE 叢集範圍的 DNS 區域,請先選擇現有私人 DNS 區域,或建立新的私人 DNS 區域,然後附加至特定 GKE 叢集。接著,請設定 DNS 區域以參照 GKE 叢集的名稱。
如需可用區的 Cloud DNS 區域總覽,請參閱「可用區 Cloud DNS 區域」。如要進一步瞭解範圍,請參閱「範圍和階層」。
建立可用區 GKE 叢集的區域性私人區域
如要使用 Cloud DNS 為可用區 GKE 叢集建立新的代管區域性私人區域,請按照下列步驟操作。
gcloud
執行 gcloud dns managed-zones create 指令:
gcloud 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-b/clusters/my-clusterLOCATION:GKE 叢集的位置,具體來說,是叢集所在的Google Cloud區域,例如us-east1-b
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:您建立代管區域的專案 IDNAME:區域名稱DESCRIPTION:區域說明DNS_NAME:區域的 DNS 尾碼,例如example.privateGKE_CLUSTER_NAME_1和GKE_CLUSTER_NAME_2:GKE 叢集的完整資源路徑,例如projects/my-project/locations/us-east1-b/clusters/my-cluster
授權可用區 GKE 叢集查詢 Cloud DNS 私人區域
如要授權可用區 GKE 叢集,查詢現有 Cloud DNS 私人區域,請按照下列步驟操作。
gcloud
執行 gcloud dns managed-zones update 指令:
gcloud dns managed-zones update NAME \
--gkeclusters=GKE_CLUSTER \
--location=LOCATION
更改下列內容:
NAME:區域名稱,例如my-zoneGKE_CLUSTER:GKE 叢集的完整資源路徑,例如projects/my-project/locations/us-east1-b/clusters/my-clusterLOCATION:GKE 叢集的位置,具體來說,是叢集所在的Google Cloud區域,例如us-east1-b。代管區域只會顯示在這個Google Cloud 區域。
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:您建立代管區域的專案 IDNAME:區域名稱,例如my-zoneGKE_CLUSTER_NAME_1和GKE_CLUSTER_NAME_2:GKE 叢集的完整資源路徑,例如projects/my-project/locations/us-east1-b/clusters/my-cluster
讓可用區 GKE 叢集依循可用區回應政策執行查詢
如要設定可用區 GKE 叢集,查詢可用區回應政策,請按照下列步驟操作。
gcloud
執行 gcloud dns response-policies create 指令:
gcloud dns response-policies create NAME \
--description=DESCRIPTION \
--gkeclusters=GKE_CLUSTER \
--location=LOCATION
更改下列內容:
NAME:回應政策的名稱,例如my-response-policyDESCRIPTION:回應政策的說明,例如my-response-policy-for-gke-5GKE_CLUSTER:GKE 叢集的完整資源路徑,例如projects/my-project/locations/us-east1-b/clusters/my-clusterLOCATION:GKE 叢集的位置,具體來說,是叢集所在的Google Cloud區域,例如us-east1-b。代管區域只會顯示在這個Google Cloud 區域。
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-policyDESCRIPTION:回應政策的說明,例如my-response-policy-for-gke-5GKE_CLUSTER:GKE 叢集的完整資源路徑,例如projects/my-project/locations/us-east1-b/clusters/my-cluster
後續步驟
- 如需解決 Cloud DNS 的常見使用問題,請參閱這篇文章。
- 如要進一步瞭解 Cloud DNS 回應政策和規則,請參閱「管理回應政策和規則」。
- 如要顯示作業的稽核記錄,請參閱「查看代管區域的作業」。