dns split-horizon qui déraille sur des pods k8s

Posté par guy-bonneau le 17/10/2025
RÉSOLU

guy-bonneau

Membre depuis le 17/02/2020

yo la team j'ai un souci bizarre avec le dns de notre cluster k8s. on a un service (service-a) qui doit résoudre un nom interne (monapp.internal.domain) vers une IP privée. mais parfois, il résout vers l'IP publique de notre WAN, du coup ça foire complètement. j'ai bien configuré les coredns avec un forwarder pour monapp.internal.domain vers nos dns internes on-prem. les autres services ça marche nickel.

# configmap coredns (extrait)
...
monapp.internal.domain:53 {
    errors
    cache 30
    forward . 10.0.0.10 10.0.0.11 # nos dns internes
}
...

pourtant un dig depuis le pod de service-a montre bien qu'il utilise le coredns du cluster. des idées de où ça peut merder ?

Commentaires

fmarchal

Membre depuis le 11/04/2019

salut t'as check les logs coredns ? des fois ils crachent des erreurs quand ils arrivent pas à joindre les forwarders ou si y'a un timeout. et t'es sûr que le service-a est pas configuré pour utiliser d'autres serveurs dns genre directement en /etc/resolv.conf dans l'image du container ?

guy-bonneau

Membre depuis le 17/02/2020

coredns logs sont clean pas d'erreurs de forwarder le service-a sa résolution se base bien sur coredns j'ai fait des tests. c'est vraiment aléatoire le truc ça marche puis ça foire

julien-paul

Membre depuis le 29/11/2024

c'est ptete un truc de cache entre coredns et le resolver du pod. ou ptete que tes dns on-prem répondent lentement parfois pour monapp.internal.domain et coredns fallback sur un autre resolver s'il en a un de défini globalement genre le dns du vpc ou de l'isp

fmarchal

Membre depuis le 11/04/2019

ouais un timeout est une bonne piste pour le fallback. regarde ton fichier /etc/resolv.conf sur les nodes k8s aussi, si coredns forwarde vers un dns local qui lui-même forwarde, y'a des chances que ça boucle ou prenne trop de temps

lblondel

Membre depuis le 25/04/2020

vous avez pas un egress policy network qui pourrait bloquer l'accès aux dns internes on-prem de temps en temps depuis coredns ? ça pourrait expliquer l'aléatoire si le traffic est drop et coredns essaie autre chose

guy-bonneau

Membre depuis le 17/02/2020

pas d'egress policy pour coredns l'infra est assez ouverte de ce côté-là. par contre la piste du fallback ou timeout est intéressante. je vais augmenter le timeout du forwarder dans coredns et monitorer les logs dns on-prem

julien-paul

Membre depuis le 29/11/2024

ouais et check si tes dns on-prem ont pas un souci de synchro entre eux ou de réplication de zone. si monapp.internal.domain est pas toujours dispo sur tous tes forwarders ça peut créer ce genre de bordel

guy-bonneau

Membre depuis le 17/02/2020

Bingo ! c'était un timeout et un fallback implicite. le dns on-prem primaire avait des micro-latences par moment. coredns du coup essayait le suivant qui était le dns de l'infra cloud et renvoyait la mauvaise ip publique. j'ai viré le fallback implicite et j'ai corrigé la latence sur le dns on-prem. thx la team !

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