1. Kubernetes 파드 DNS 기본 동작
쿠버네틱스에서 파드의 DNS 요청은 무조건 CoreDNS를 먼저 탐.
기본 흐름은 다음과 같음.
파드 → CoreDNS → 노드 DNS → 외부 DNS
파드는 외부 DNS를 직접 보지 않음
CoreDNS가 모든 요청의 관문 역할함
2. CoreDNS 기본 설정
보통 기본 CoreDNS 설정은 이렇게 되어 있음.
forward . /etc/resolv.conf
의미는 이거임.
- CoreDNS에서 내부 서비스(*.cluster.local)는 직접 처리
- CoreDNS가 모르는 외부 도메인은
- 노드의 /etc/resolv.conf 설정을 그대로 따라감
즉 흐름은:
파드 → CoreDNS → 노드 DNS(systemd-resolved 등) → 외부/사내 DNS
3. /etc/resolv.conf에 127.0.0.53이 보이는 이유
노드에서 보면 /etc/resolv.conf에 보통 이렇게 나옴.
nameserver 127.0.0.53
이건 외부 DNS가 아님.
- systemd-resolved의 로컬 stub resolver
- 실제 DNS 서버는 따로 있음
진짜 DNS는 아래 명령으로 확인함.
resolvectl dns
Link 2 (eth0): 172.31.12.xx 172.31.12.xx
즉 실제로는 특정 DNS를 사용 중임.
4. CoreDNS에서 바로 특정 DNS로 보내고 싶을 때
노드 DNS 설정과 무관하게
CoreDNS에서 바로 사내 DNS로 질의하고 싶을 때가 있음.
그럴 땐 CoreDNS 설정을 이렇게 바꿈.
변경 전
forward . /etc/resolv.conf
변경 후
forward . 172.31.12.11 172.31.12.12
이렇게 하면 DNS 흐름이 다음처럼 됨.
파드 → CoreDNS → 특정 DNS
- systemd-resolved 안 탐
- 노드 DNS 설정 영향 없음
- 보안/감사 설명하기 쉬움
'TIL' 카테고리의 다른 글
| Dashboards로 서버 상태 보는 법 정리 ( OpenSearch ) (0) | 2026.02.09 |
|---|---|
| 스위치 LAN 정리. 뭐더라.. (0) | 2026.02.06 |
| 클라이언트 에러 로그를 추적해보자. 어떻게? (0) | 2026.02.05 |
| 파드 상태별 확인방법 정리 (0) | 2026.01.31 |
| CKA용 deploy update, rollback 명령어 정리 (0) | 2026.01.27 |