쿠버네티스 DNS 기본 개념
- 쿠버네티스는 클러스터 내부에서만 사용하는 DNS 시스템을 제공한다.
- 파드, 서비스 등 리소스 간 통신 시 IP 대신 도메인 이름을 사용할 수 있다.
- 서비스 디스커버리(내부 서비스 탐색) 용도로 활용된다.
DNS 네이밍 규칙 및 구조
- 서비스 도메인:
서비스이름.네임스페이스.svc.cluster.local - 파드 도메인:
파드IP.네임스페이스.pod.cluster.local - 파드 템플릿에서
.spec.template.spec.hostname과.spec.template.spec.subdomain을 설정해 도메인 이름을 커스터마이즈할 수 있다.
DNS 정책 및 설정
.spec.dnsPolicy필드로 파드의 DNS 정책을 지정한다.Default: 노드의 DNS 설정 사용ClusterFirst: 클러스터 DNS 우선(기본값)ClusterFirstWithHostNet: hostNetwork 사용 시 필수None: DNS를 직접 설정,.spec.dnsConfig필요
.spec.dnsConfig하위 필드로 파드별 DNS 서버, 검색 도메인, 옵션 등을 직접 지정할 수 있다.
DNS 구현체
- CoreDNS: 플러그인 기반, 유연한 구조.
kube-system네임스페이스의ConfigMap(Corefile)로 관리. - kube-dns: kubedns, dnsmasq, sidecar 컨테이너로 구성(구버전).
참고 자료:
'CKA' 카테고리의 다른 글
| 오토스케일링 정리 (1) | 2025.07.11 |
|---|---|
| 로깅과 모니터링 정리 (0) | 2025.07.10 |
| 클러스터 네트워킹 구성 정리 (0) | 2025.07.08 |
| 데이터 저장 정리 (0) | 2025.07.07 |
| 인증과 권한 관리 정리 (0) | 2025.07.04 |