피드로 돌아가기
DNS is weird inside k8s on AWS
Dev.toDev.to
Infrastructure

ndots:5 설정과 ENI 1024pps 제한으로 인한 DNS 타임아웃 해결

DNS is weird inside k8s on AWS

Harish2026년 6월 21일7intermediate

Context

Kubernetes on AWS 환경에서 발생하는 간헐적 DNS 타임아웃 현상 분석. 기본 ndots:5 설정에 따른 쿼리 증폭과 AWS EC2 ENI의 하드웨어적 패킷 제한이 결합되어 발생하는 시스템 병목 지점 파악.

Technical Solution

  • ndots 설정을 5에서 1로 변경하여 외부 도메인 조회 시 불필요한 Search Suffix 결합 쿼리 제거
  • 단일 호스트네임 조회 시 최대 10배까지 발생하는 쿼리 증폭 현상을 차단하는 구조 설계
  • NodeLocal DNSCache 도입을 통한 per-node 캐싱 레이어 구축으로 CoreDNS 네트워크 홉 제거
  • link-local IP(169.254.0.0/16) 기반 통신을 통한 UDP conntrack 레이스 컨디션 및 5초 지연 현상 해결
  • VPC Resolver로 향하는 트래픽을 NodeLocal DNS에서 1차 필터링하여 ENI 패킷 제한 도달 방지
  • linklocal_allowance_exceeded 지표 모니터링을 통한 AWS DNS 쿼리 제한 도달 여부 검증

1. 외부 API 호출이 많은 Pod의 dnsConfig에서 ndots:1 설정 검토

2. 고트래픽 환경에서 NodeLocal DNSCache 활성화 및 TTL 설정 최적화

3. AWS 환경의 경우 linklocal_allowance_exceeded 지표를 통해 ENI 1024pps 제한 도달 여부 확인

원문 읽기