[coreDNS] 파드에서 FQDN 효율적으로 호출하기

김건호·2023년 8월 31일
0

개요

고객사에서 coreDNS 쪽 질의가 안 된다는 요청을 받다보니 알게 된 정보들을 정리합니다..!

파드에서 FQDN 요청 시, coreDNS는 어떻게 동작할까?

파드 내에서 {도메인}으로 질의를 하게 되면 파드 내의 /etc/resolv.conf의 search 리스트를 붙여가며 coreDNS에 질의를 하게 됩니다.

bash-5.0$ cat /etc/resolv.conf
search ingress-nginx-system.svc.cluster.local svc.cluster.local cluster.local tail3cceb.ts.net
nameserver IP
options ndots:5

질의 순서
1. {도메인}.ingress-nginx-system.svc.cluster.local
2. {도메인}.svc.cluster.local
3. {도메인}.cluster.local
4. {도메인}.tail3cceb.ts.net


이렇게 search리스트를 붙여가며 NoError의 결과가 나올때까지 coreDNS로 질의를 하게 되는데 이를 단 한방에 끝내는 방법이 있다❗❗

.로 바로 FQDN 인식

도메인 호출 시, 맨 마지막에 .을 붙여준다면 딱 1번만 CoreDNS 서버에게 질의할 수 있게 됩니다.
-> CoreDNS가 불필요하게 search 리스트를 붙여가며 질의하는 과정이 줄어들기 때문에

외부 FQDN

맨 뒤에 . 안붙인 경우

coreDNS에 질의된 로그

맨 뒤에 . 붙인 경우

coreDNS에 질의된 로그

서비스 디스커버리

맨 뒤에 . 안붙인 경우

coreDNS에 질의된 로그

맨 뒤에 . 붙인 경우

coreDNS에 질의된 로그

주의점

이렇게 맨 뒤에 .을 붙여서 질의하는 형식은 FQDN을 질의할 때만 사용가능합니다.

참고자료

[EKS] CoreDNS 운영 시 소소한 팁 (Rcode, ndots) by nyyangs

profile
네.. 뭐.. 김건호입니다...

0개의 댓글