이 문서에서는 관리자 클러스터 또는 사용자 클러스터에 대해 DNS를 구성하는 방법을 설명합니다.
클러스터의 DNS 구성은 default
라는 ClusterDNS 커스텀 리소스에 보관됩니다. 이는 클러스터 전체 리소스입니다. 즉, 네임스페이스가 아닙니다.
ClusterDNS 리소스 보기
ClusterDNS 리소스를 보려면 다음 안내를 따르세요.
kubectl --kubeconfig CLUSTER_KUBECONFIG get clusterdns default --output yaml
CLUSTER_KUBECONFIG를 클러스터 kubeconfig 파일의 경로로 바꿉니다.
DNS 구성은 spec
섹션에 있습니다. spec
섹션이 비어 있거나 누락된 경우 클러스터는 기본 Kubernetes CoreDNS 구성을 사용합니다.
DNS 구성 변경
default
라는 ClusterDNS 리소스의 매니페스트를 만듭니다. 원하는 대로 spec
을 입력합니다. 예를 들면 다음과 같습니다.
apiVersion: networking.gke.io/v1alpha1 kind: ClusterDNS metadata: name: default spec: upstreamNameservers: - serverIP: 8.8.8.8 - serverIP: 8.8.4.4 domains: - name: altostrat.com nameservers: - serverIP: 198.51.100.0.1 - name: my-own-personal-domain.com nameservers: - serverIP: 203.0.113.1 - serverIP: 203.0.113.2 serverPort: 54 googleAccess: private
my-dns.yaml
파일에 매니페스트를 저장하고 리소스를 클러스터에 적용합니다.
kubectl --kubeconfig CLUSTER_KUBECONFIG apply -f my-dns.yaml
ClusterDNS 사양
spec.upstreamNameservers
객체 각각에 서버 IP 주소와 서버 포트(선택사항)가 있는 객체 배열 서버 포트의 기본값은 53입니다.
기본 업스트림 네임서버입니다. 클러스터가 아닌 도메인에 대한 요청은 기본적으로 이 서버 집합으로 전달됩니다. 예를 들면 다음과 같습니다.
spec: upstreamNameservers: - serverIP: 8.8.8.8 - serverIP: 1.2.3.4 serverPort: 54
upstreamNameservers
에 값을 지정하지 않으면 DNS 제공업체는 노드의 /etc/resolve.conf
파일을 사용하여 업스트림 네임서버 목록을 찾습니다.
spec.domains
특정 도메인에 대한 구성입니다. 이렇게 하면 upstreamNameservers
에서 구성을 재정의할 수 있습니다.
이 섹션을 사용하여 기본 업스트림 네임서버와 별도로 특정 도메인에 대해 다른 업스트림 네임서버를 구성할 수 있습니다.
도메인에 대해 쿼리 로깅을 사용 설정할 수도 있습니다. 이 작업은 지정된 도메인 또는 클러스터 도메인(cluster.local)에 수행할 수 있습니다.
예를 들면 다음과 같습니다.
spec: domains: - name: altostrat.com nameservers: - serverIP: 203.0.113.1 - name: my-own-personal-domain.com nameservers: - serverIP: 198.51.100.1 - serverIP: 198.51.100.2 serverPort: 50000 - name: cluster.local queryLogging: true
spec.googleAccess
문자열. Google Domains를 비공개 액세스 IP 주소로 확인하려면 이를 "private"
로 설정합니다. Google Domains를 제한된 액세스 IP 주소로 확인하려면 이를 restricted
로 설정합니다. Google Domains를 특별한 방식으로 처리하지 않으려면 이를 default
로 설정하거나 삭제합니다. 자세한 내용은 온프레미스 호스트의 비공개 Google 액세스 구성을 참조하세요.
예를 들면 다음과 같습니다.
spec: googleAccess: private
spec.orderPolicy
문자열. 업스트림 서버를 선택하는 순서 지정 정책을 지정하려는 경우. 기본값은 "random"
입니다. 지원되는 유형은 "random"
, "round_robin"
, "sequential"
입니다. 이 순서 지정 정책은 정의된 도메인에도 적용됩니다. policy
및 각 구성의 기능에 대한 자세한 내용은 coredns 문서를 참조하세요.
예를 들면 다음과 같습니다.
spec: orderPolicy: sequential