Resolve DNS faster in a pod
Substack
오늘 어느 블로그 글을 보고, Pod에서 DNS 쿼리 성능을 높이는 방법에 대해서 알게되었습니다. 요청이 적은 경우에는 크게 효과가 없지만, 요청이 많다면 꽤나 효율적인 성능 개선이 가능합니다.
그 방식은 상당히 간단합니다.
바로, FQDN 사용을 위해서 끝에 점(.) 을 붙이기만 하면 됩니다. 만약 google.com
에 요청을 보낸다면, google.com.
으로 질의하면 빠르게 질의가 가능합니다.
그 이유는 다음과 같습니다.
1. Kubelet은 파드를 생성할 때 /etc/resolv.conf에 다음과 같은 설정을 주입합니다.
nameserver <kube-dns service IP>
search <namespace>.svc.cluster.local svc.cluster.local cluster.local
options ndots:5
2. 애플리케이션에서 도메인 질의가 발생하면 내장 C 라이브러리인 glibc 에서 해당 /etc/resolv.conf 파일에 따라 실제 질의를 진행합니다.
3. 만약 끝에 점(.)이 있거나, 질의하는 도메인의 점(.) 갯수가 ndots 값 이상이면 해당 도메인을 바로 네임서버로 질의합니다.
4. 그렇지 않다면, search 란에 명시한 도메인을 순차적으로 돌면서 결과가 나올때까지 찾습니다. 마지막까지 결과가 나오지 않으면, 그때 원래 요청하고자 했던 도메인으로 질의를 수행합니다.
사실 위와 같은 설정 덕분에 클러스터 내부에서 cluster.local 도메인 질의를 통해 파드나 서비스를 찾을 수 있습니다. 하지만 클러스터 외부 도메인이라고 하면, 굳이 위 도메인으로는 질의를 거쳐야할 필요가 없기 때문에 건너 뛰는게 좋은 것 같습니다.
아직 저는 이런 팁을 사용할만큼 큰 서비스를 운영하지 않았지만, 만약 대규모 클러스터를 운영하시는 분이 있다면 (이론적으로는...) 약간이나마 효과가 있을 것 같습니다.
https://open.substack.com/pub/techchallengearena/p/resolve-dns-faster-in-a-pod?r=czded&utm_campaign=post&utm_medium=web
이메일로 글 무료로 받아보기: https://techchallengearena.substack.com/
#DevOps #Kubernetes #CoreDNS #DNS
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 6월 5일 오후 6:26
코
... 더 보기더불어민주당에선 대통령실 비서실장으로 지명된 강훈식 의원이 '경영권과 무관하게 상장사 지분 25% 이상을 확보할 경우 잔여 주식을 모두 공개매수해야 한다'는 내용의 자본시장법 개정안을 지난해 6월 발의했다. 대통령령으로 예외를 두겠다는 단서 조항을 달았지만 사실상 100% 의무공개매수를 도입을 추진하고 있다. 지난 정부가 추진한 '50%+1주 의무공개매수' 대비 한발 더 나간 제도라는 평가가 나온다.
... 더 보기