서비스 검색 및 DNS 개요

이 주제에서는 Azure 용 GKE가 도메인 이름 서비스(DNS)와 상호작용하는 방법을 설명합니다.

서비스 검색

서비스 검색은 워크로드가 서비스의 IP 주소를 몰라도 서비스를 찾는 프로세스입니다. 이 섹션에서는 Azure용 GKE가 서비스 검색 및 관리형 DNS를 구현하는 방법을 설명합니다.

Kubernetes는 다음 사양을 사용하는 서비스 이름을 자동으로 생성합니다.

service.namespace.svc.cluster.local

각 항목의 의미는 다음과 같습니다.

  • service: 서비스 이름
  • namespace: 서비스의 네임스페이스

워크로드도 DNS 이름을 사용하여 example.net과 같은 외부 서비스에 액세스합니다. Kubernetes의 DNS 동작에 대한 자세한 내용은 서비스 및 pod의 DNS를 참조하세요.

CoreDNS

Azure용 GKE는 CoreDNS를 사용하여 클러스터 내에서 DNS 이름을 확인합니다. CoreDNS는 kube-system 네임스페이스에서 중복되고 확장된 배포로 실행됩니다. CoreDNS 배포에는 CoreDNS pod를 그룹화하여 단일 IP 주소를 제공하는 서비스가 있습니다. CoreDNS 배포는 클러스터의 크기와 사용량에 따라 확장됩니다.

NodeLocal DNSCache

Azure용 GKE는 NodeLocal DNSCache를 사용하여 DNS 조회 성능을 개선합니다. NodeLocal DNSCache는 클러스터의 각 노드에서 DaemonSet로 실행됩니다. 포드가 DNS 요청을 수행하면 요청은 먼저 동일한 노드의 DNS 캐시로 이동합니다. 캐시가 DNS 요청을 해결할 수 없는 경우 캐시는 요청을 다음 중 하나로 전달합니다.

  • 내부 이름의 CoreDNS(예: foo.bar.svc.cluster.local)

다음 단계

  • Kubernetes 클러스터에서 DNS가 사용되는 방식에 대한 개요는 서비스 및 pod의 DNS를 참조하세요.