coreDNS를 DNS로 사용하기

2025. 8. 4. 00:02k8s

coreDNS의 SVC에 LoadBalancer IP 할당

apiVersion: v1
kind: Service
metadata:
  name: kube-dns-lb
  namespace: kube-system
spec:
  type: LoadBalancer
  selector:
    k8s-app: kube-dns
  ports:
    - name: dns
      port: 53
      protocol: UDP
      targetPort: 53
    - name: dns-tcp
      port: 53
      protocol: TCP
      targetPort: 53
      
 # IP 확인
 kubectl get svc -A

도메인 추가

kubectl -n kube-system edit configmap coredns

---------------------
    hosts {
        {ingress external IP} myapp.k8s.local
        fallthrough
    }
---------------------

# 변경후 저장하면 coreDNS 재기동 해야 적용 됨
kubectl -n kube-system rollout restart deployment coredns

# 확인

nslookup myapp.k8s.local {coreDNS external IP}

node의 nameserver로 설정하기

sudo vi /etc/systemd/resolved.conf
---------------------
[Resolve]
DNS={coreDNS external IP} 8.8.8.8
FallbackDNS=1.1.1.1
---------------------

# 적용
sudo systemctl restart systemd-resolved

# 확인
nslookup {도메인}

Wi-Fi DNS를 내부 DNS로 강제 변경

# 현재 DNS 정보 확인
resolvectl status

nmcli connection modify "<Wi-Fi 연결이름>" ipv4.dns "192.168.0.241 8.8.8.8"
nmcli connection modify "<Wi-Fi 연결이름>" ipv4.ignore-auto-dns yes
nmcli connection up "<Wi-Fi 연결이름>"