728x90
CoreDNS NXDOMAIN 오류 해결
kubernetes에서 필수구성요소인 CoreDNS의 MXDOMAIN 오류를 해결하는 방법입니다.
NXDOMAIN 오류란?
- MXDOMAIN 오류는 등록되지않은 DNS를 조회하여 나오는 오류입니다.
- kubernetes에서 service discovery를 위해 kubernetes에서 사용하는 규칙으로 DNS 질의시 5번정도 더 질의하게 되는데, 이때 질의되는 도메인이 DNS서버에 등록되지않은 도메인이기때문에 오류가 발생합니다.
- AWS에서는 도메인 질의를 너무 많이하게되면, EC2 DNS Limit(1024 packets per second) 제한이 걸려서 DNS질의 실패로 서비스에 장애가 발생할 가능성이 있습니다.
- 아래의 로그는 CoreDNS에 로그를 설정하여 MXDOMAIN 오류 에러 로그입니다.
- CoreDNS의 로그를 출력하려면 log설정을 해주어야합니다.
[INFO] 10.0.100.100:43584 - 252 "A IN secretsmanager.ap-northeast-2.amazonaws.com.cluster.local. udp 75 false 512" NXDOMAIN qr,aa,rd 168 0.000103938s
[INFO] 10.0.4.3:43584 - 584 "AAAA IN secretsmanager.ap-northeast-2.amazonaws.com.cluster.local. udp 75 false 512" NXDOMAIN qr,aa,rd 168 0.000147656s
[INFO] 10.1.10.100:42304 - 10747 "AAAA IN secretsmanager.ap-northeast-2.amazonaws.com.kube-system.svc.cluster.local. udp 91 false 512" NXDOMAIN qr,aa,rd 184 0.000053758s
[INFO] 10.1.0.182:42304 - 10347 "A IN secretsmanager.ap-northeast-2.amazonaws.com.kube-system.svc.cluster.local. udp 91 false 512" NXDOMAIN qr,aa,rd 184 0.000095001s
해결방법
위의 문제를 해결하기위해 아래와 같이 dnsConfig의 ndots설정을 통해 NXDOMAIN 오류를 해결할 수 있습니다.
apiVersion: v1
kind: Pod
metadata:
name: dns-example
spec:
containers:
- name: nginx
image: nginx:1.22
dnsConfig:
options:
- name: ndots
value: "1"
728x90
'Kubernetes' 카테고리의 다른 글
Amazon EFS CSI Driver (0) | 2022.09.23 |
---|---|
Kubernetes RBAC 알아보기 (0) | 2022.09.22 |
Resizing StatefulSet Persistent Volumes with zero downtime (2) | 2022.09.20 |
Kubernetes ServiceAccount로 kubeconfig 파일 생성 (0) | 2022.09.20 |
Amazon EBS CSI driver (4) | 2022.09.19 |