salut ! le forward . /etc/resolv.conf c'est la base, donc ça devrait marcher. t'as vérifié que le /etc/resolv.conf des pods coredns pointe bien vers des serveurs DNS externes valides et pas juste l'IP du service kube-dns lui-même ? des fois ça boucle.
aussi check la commande kubectl logs -n kube-system -l k8s-app=kube-dns pour voir les logs précis quand tu tentes une résolution externe. et regarde les événements de tes pods coredns, ptete des oomkill ou autre joyeusetés.
et t'aurais pas des `externalNamespaces` configurés quelque part qui écraseraient le comportement du forward ? ou une `policy` dns sur tes pods qui serait en `None` ou autre chose de bizarre
check aussi tes network policies sur le namespace `kube-system`. si une règle bloque le trafic DNS sortant des pods coredns vers l'extérieur, ça expliquerait les timeouts. faut une règle explicite pour autoriser le port 53 UDP/TCP.
et pour la ligne `forward . /etc/resolv.conf`, t'es sûr que le `/etc/resolv.conf` dans l'image coredns est bien celui de ton nœud hôte ou un truc qui marche ? des fois dans des environnements conteneurisés ça peut être un peu tricky l'héritage du resolv.conf
t'as des règles de firewall sur les noeuds k8s qui pourraient bloquer le trafic DNS sortant (port 53 UDP/TCP) vers l'internet ? c'est con mais ça arrive.
et si t'utilises istio, les `ServiceEntry` peuvent override les résolutions DNS. t'aurais pas un truc qui redirige le trafic DNS vers un autre service entry ou un hôte non résolvable ?
les coredns metrics prometheus (sur le port 9153) peuvent te donner des infos sur les échecs de résolution et les requêtes mises en cache. ça peut aider à débugger. `coredns_dns_response_code_count_total` par exemple.
un dernier truc t'as essayé de remplacer `forward . /etc/resolv.conf` par des DNSs fixes que tu sais qui marchent, genre `forward . 8.8.8.8 1.1.1.1` ? juste pour isoler le problème du resolv.conf.
bordel merci la team c'était un combo de trucs ! le `forward . /etc/resolv.conf` était bien là mais en fait l'image docker de coredns avait un `resolv.conf` un peu moisi qui pointait sur lui-même lol. j'ai mis `forward . 8.8.8.8 1.1.1.1` en dur et ça marche. en plus j'avais une network policy qui bloquait le 53 UDP en sortie sur le namespace kube-system. bien vu pour la network policy !
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
trossi
Membre depuis le 14/01/2020actif
yo la team ! on est sur k8s et notre coredns il fait la gueule. il résout nickel les services internes (cluster.local) mais pour tout ce qui est externe, genre google.com ou nos propres services derrière un Load Balancer externe, rien. c'est le silence radio. j'ai checké les logs des pods coredns et je vois des timeouts ou des SERVFAIL. ptete un souci de config dans le corefile ?