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
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é
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
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)
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
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
nickel. c'est une config plus robuste en général. content que ça ait aidé
thx à tous pour les pistes c'était bien ça !
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
zbruneau
Membre depuis le 28/07/2022actif
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:
CoreDNS est up et les pods sont sur un nœud dédié mais ça change rien. Des idées ?