Problème DNS sur Kubernetes résolution externe lent ou échoue

zbruneau 29/05/2025
RÉSOLU
zbruneau
Auteur Actif
Avatar de zbruneau
zbruneau
Auteur Actif

Salut la commu ! J'ai un souci bizarre sur notre cluster k8s la résolution DNS externe est super aléatoire. Des fois ça marche des fois ça timeoute ou j'ai des SERVFAIL. Ça impacte pas mal de services qui appellent des APIs externes. La résolution interne (services k8s) ça va. Quand je fais un dig depuis un pod ça donne ça:

kubectl exec -it mon-pod -- dig google.com
; <<>> DiG 9.11.5-P4-5.1+deb10u7-Debian <<>> google.com
;; global options: +cmd
;; connection timed out; no servers could be reached

CoreDNS est up et les pods sont sur un nœud dédié mais ça change rien. Des idées ?

29/05/2025 à 19:18

8 commentaires

uvidal
Membre Actif Secouriste
Avatar de uvidal
uvidal
Membre Actif Secouriste

yo t'as checké le configmap de coredns ? des fois les forwarders sont pas opti ou les resolvers upstream sont nazes. ptete un souci de reachability vers tes dns externes depuis tes nodes k8s

30/05/2025 à 16:09
alice-pages
Membre Actif Secouriste
Avatar de alice-pages
alice-pages
Membre Actif Secouriste

oui aussi regarde tes network policies. si t'en as une qui bloque le trafic egress sur le port 53 udp vers l'extérieur pour tes pods d'applis bah ça explique tout. ou le coredns lui-même est bloqué

31/05/2025 à 12:12
zbruneau
Auteur Actif
Avatar de zbruneau
zbruneau
Auteur Actif

merci j'ai vérifié les network policies ya rien qui bloque explicitement le port 53. coredns peut sortir je l'ai testé avec un exec dessus. la config coredns c'est ça:

.:53 {
    errors
    health {
       lameduck 5s
    }
    ready
    kubernetes cluster.local in-addr.arpa ip6.arpa {
       pods insecure
       fallthrough in-addr.arpa ip6.arpa
       ttl 30
    }
    prometheus :9153
    forward . /etc/resolv.conf
    cache 30
    loop
    reload
    loadbalance
}

le /etc/resolv.conf des nodes pointe vers les DNS de la VPC donc ils sont censés être bons

01/06/2025 à 11:02
mathilde-tanguy
Membre Actif
Avatar de mathilde-tanguy
mathilde-tanguy
Membre Actif

hum forward . /etc/resolv.conf c pas toujours le top. des fois le /etc/resolv.conf du node est trop générique ou y'a trop d'upstreams. essaie de mettre des IPs DNS direct dans le forward du coredns par ex celles de google (8.8.8.8 8.8.4.4) ou de cloudflare (1.1.1.1)

02/06/2025 à 06:08
uvidal
Membre Actif Secouriste
Avatar de uvidal
uvidal
Membre Actif Secouriste

ouais et des fois c'est la rate limit sur les dns de ton provider cloud si t'as beaucoup de requêtes depuis le même ip source de tes nodes. les dns de vpc ont des limites tu peux saturer

03/06/2025 à 05:19
zbruneau
Auteur Actif
Avatar de zbruneau
zbruneau
Auteur Actif

ok j'ai changé le forward vers 8.8.8.8 et 1.1.1.1 direct dans le coredns configmap et redémarré. ça a l'air beaucoup plus stable maintenant j'ai plus de SERVFAIL. ptete un mix de resolvers lents et de rate limiting

04/06/2025 à 04:01
alice-pages
Membre Actif Secouriste
Avatar de alice-pages
alice-pages
Membre Actif Secouriste

nickel. c'est une config plus robuste en général. content que ça ait aidé

05/06/2025 à 01:08
zbruneau
Auteur Actif
Avatar de zbruneau
zbruneau
Auteur Actif

thx à tous pour les pistes c'était bien ça !

05/06/2025 à 23:08

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire