이 문서에서는 베어메탈용 GKE에 대해 도메인 이름 시스템(DNS) 제공업체 옵션을 구성하는 방법을 설명합니다. 클러스터의 DNS 구성은 default
라는 ClusterDNS 커스텀 리소스에 보관됩니다. 이 리소스는 클러스터 전체에 적용됩니다. 즉, 네임스페이스가 아닙니다. ClusterDNS 커스텀 리소스는 모든 클러스터 유형에 적용됩니다.
ClusterDNS 리소스 만들기
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
- serverIP: 203.0.113.1
- serverIP: 203.0.113.2
serverPort: 54
googleAccess: private
my-dns.yaml
파일에 매니페스트를 저장하고 리소스를 클러스터에 적용합니다.
kubectl --kubeconfig KUBECONFIG apply -f my-dns.yaml
KUBECONFIG
를 클러스터 kubeconfig 파일의 경로로 바꿉니다.
ClusterDNS 리소스 보기
ClusterDNS 리소스를 보려면 다음 안내를 따르세요.
kubectl --kubeconfig KUBECONFIG get clusterdns default --output yaml
KUBECONFIG
를 클러스터 kubeconfig 파일의 경로로 바꿉니다.
ClusterDNS 사양
다음 섹션에서는 클러스터의 DNS를 구성하는 데 사용하는 ClusterDNS 커스텀 리소스 정의의 일부를 설명합니다. 언제든지 클러스터에 대한 ClusterDNS 리소스를 업데이트할 수 있습니다.
spec.upstreamNameservers
객체 각각에 서버 IP 주소와 서버 포트(선택사항)가 있는 객체 배열을 사용하여 기본 업스트림 네임서버를 지정합니다. 서버 포트의 기본값은 53입니다. 클러스터가 아닌 도메인에 대한 요청은 기본적으로 이 서버 주소 배열로 전달됩니다.
다음은 upstreamNameservers
구성 예시입니다.
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
열거형(private
, restricted
, default
)은 Google 도메인을 처리하는 방법을 지정합니다. googleAccess
값은 다음 동작을 지정합니다.
default
: Google 도메인을 특별하게 처리하지 않습니다.googleAccess
필드를 삭제해도 동일한 효과를 가집니다.private
: Google 도메인을 비공개 액세스 IP 주소로만 확인합니다.restricted
: Google 도메인을 제한된 액세스 IP 주소로만 확인합니다.
다음 설정 예시에서는 Google 도메인을 비공개 액세스 IP 주소로만 확인합니다.
spec:
googleAccess: private
자세한 내용은 온프레미스 호스트의 비공개 Google 액세스 구성을 참조하세요.