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

Posté par zbruneau le 29/05/2025
RÉSOLU

zbruneau

Membre depuis le 28/07/2022

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 ?

Commentaires

uvidal

Membre depuis le 06/01/2020

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

alice-pages

Membre depuis le 24/04/2019

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é

zbruneau

Membre depuis le 28/07/2022

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

mathilde-tanguy

Membre depuis le 01/06/2019

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)

uvidal

Membre depuis le 06/01/2020

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

zbruneau

Membre depuis le 28/07/2022

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

alice-pages

Membre depuis le 24/04/2019

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

zbruneau

Membre depuis le 28/07/2022

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

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