dns resolve trop long pour des services internes k8s

brigitte-camus 06/10/2025
RÉSOLU
brigitte-camus
Auteur Actif
Avatar de brigitte-camus
brigitte-camus
Auteur Actif

Yo la team on a un gros souci de perf sur les résolutions DNS internes dans notre cluster k8s. ça rame à mort genre 500ms pour des services qui sont juste à côté. Des fois ça timeout carrément. J'ai des logs de coredns qui montrent rien de spécial mais je suis ptete passé à côté d'un truc. on a genre 500 pods et pas mal de requêtes inter-services.


# exemple de dig depuis un pod
kubectl exec -it mon-pod-quelconque -- dig mon-service.mon-namespace.svc.cluster.local

; <<>> DiG 9.16.1-Ubuntu <<>> mon-service.mon-namespace.svc.cluster.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;mon-service.mon-namespace.svc.cluster.local. IN A

;; ANSWER SECTION:
mon-service.mon-namespace.svc.cluster.local. 5 IN A 10.42.0.123

;; Query time: 487 msec
;; SERVER: 10.43.0.10#53(10.43.0.10)
;; WHEN: Mon Jan 02 15:04:05 UTC 2023
;; MSG SIZE  rcvd: 89
06/10/2025 à 23:34

8 commentaires

cecile91
Membre
Avatar de cecile91
cecile91
Membre

Salut ! 500ms c énorme pour du DNS interne. T'as checké les métriques de tes pods CoreDNS? genre CPU, mémoire, ou le nombre de requêtes traitées par seconde. Des fois c juste le CoreDNS qui est à la ramasse ou qui OOMKills. Regarde les logs avec kubectl logs -n kube-system -l k8s-app=kube-dns

Modifié le 23/05/2026 à 16:20
frederic-rocher
Membre Actif
Avatar de frederic-rocher
frederic-rocher
Membre Actif

Est-ce que t'as des custom resolv.conf sur tes pods? Ou des NetworkPolicies qui pourraient impacter le trafic DNS? Souvent les gens ajoutent des serveurs DNS externes et ça fout le bordel avec la résolution interne

Modifié le 23/05/2026 à 16:20
eleonore05
Membre Actif Secouriste
Avatar de eleonore05
eleonore05
Membre Actif Secouriste

Regarde aussi les ndots dans /etc/resolv.conf des pods. Si c'est trop haut (genre 5), chaque requête DNS va essayer plein de suffixes avant d'arriver au bon service, ça peut créer des latences. K8s met souvent ndots:5 par défaut. T'as essayé de réduire ça pour voir?

Modifié le 23/05/2026 à 16:20
brigitte-camus
Auteur Actif
Avatar de brigitte-camus
brigitte-camus
Auteur Actif

pas de custom resolv.conf j'ai vérifié. les networkpolicies sont là mais elles autorisent le trafic dns sur le port 53 vers le service coredns. pour les ndots c'est bien à 5. je vais regarder les métriques de coredns j'avais pas pensé à ça je check avec top dans les pods

Modifié le 23/05/2026 à 16:20
cecile91
Membre
Avatar de cecile91
cecile91
Membre

Oui le ndots:5 c'est un piège classique. Tu peux tester avec options ndots:1 dans le dnsConfig de ton pod pour voir si ça change quelque chose. Ça réduit le nombre de recherches de suffixes pour les noms non qualifiés

Modifié le 23/05/2026 à 16:20
frederic-rocher
Membre Actif
Avatar de frederic-rocher
frederic-rocher
Membre Actif

Si CoreDNS est surchargé, la solution simple c'est de scale up les réplicas. Ou d'augmenter la taille du cache si tu en utilises un. Ou vérifier si un client fait pas des requêtes débiles en boucle. Le prometheus de CoreDNS donne de bonnes infos

12/10/2025 à 06:03
eleonore05
Membre Actif Secouriste
Avatar de eleonore05
eleonore05
Membre Actif Secouriste

Y'a aussi l'option du NodeLocal DNSCache. Ça met un cache DNS sur chaque node ce qui réduit la charge sur les pods CoreDNS centraux et améliore la latence. C'est un DaemonSet. Si tu peux le déployer, ça aide énormément.

13/10/2025 à 05:18
brigitte-camus
Auteur Actif
Avatar de brigitte-camus
brigitte-camus
Auteur Actif

Bon c'était le ndots:5 !!! En passant un pod avec ndots:1 les requêtes sont quasi instantanées. Je vais voir comment changer ça globalement pour mes deploys. Et ptete mettre NodeLocal DNSCache en plus. Merci à tous c'est top

Modifié le 23/05/2026 à 16:20

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