GKE 클러스터 범위 구성

이 페이지에서는 Cloud DNS를 사용하여 Google Kubernetes Engine 클러스터 범위를 구성하는 방법을 설명합니다.

Cloud DNS를 사용하여 GKE 클러스터 범위 DNS 영역을 구성하려면 먼저 기존 비공개 DNS 영역을 선택하거나 특정 GKE 클러스터를 연결할 새 비공개 DNS 영역을 만듭니다. 그런 다음 GKE 클러스터 이름을 참조하도록 DNS 영역을 구성합니다.

범위에 대한 자세한 내용은 범위 및 계층 구조를 참조하세요.

GKE 클러스터의 비공개 영역 만들기

GKE 클러스터용 Cloud DNS를 사용하여 새 관리형 비공개 영역을 만들려면 다음 단계를 완료합니다.

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)

Cloud DNS 비공개 영역을 쿼리하도록 GKE 클러스터 승인

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)

다음 단계