9 commentaires
yo
un ExternalName c'est juste un CNAME. donc la résolution finale dépend de coredns qui va query les dns récursifs externes configurés. ça sent le souci côté dns provider externe ou un problème de reachability de coredns vers ces dns externes
le 90% du temps qui marche ça me fait penser à un souci de cache dns. soit côté coredns, soit côté dns récursifs. t'as combien de réplicas de coredns ? si un des pods coredns a un souci de cache ou de connexion et que le pod client tombe dessus, ça foire
vérifie aussi la configuration des /etc/resolv.conf dans tes pods clients. est-ce qu'ils pointent bien vers le service coredns du cluster ? des fois un init container ou un truc peut modifier ça. et si coredns est surchargé, il peut commencer à rater des requêtes
un truc à essayer pour debugger : faire un dig +tcp api.externalprovider.com @ depuis un pod pour voir si le tcp change quelque chose, des fois c'est un souci udp avec le dns
et regarde si tes nodes ont des problèmes réseau quand ça arrive, ptete que c'est pas coredns mais la connectivité de la node elle-même qui a des micro-coupures vers l'extérieur. mtr vers un dns public peut montrer ça
ok un grand merci pour toutes ces pistes. j'ai regardé les logs de coredns de plus près et j'ai vu des erreurs liées à un de nos dns récursifs externes qui était parfois injoignable, ça correspondait aux timings des problèmes. j'ai viré ce dns de la config de coredns et depuis ça a l'air stable. le cache aussi, le TTL est faible. je vais creuser pour augmenter le TTL si possible. vraiment utile !
Laisser une réponse
Vous devez être connecté pour poster un message !
salut les experts k8s
on a un service k8s de type externalName qui pointe vers un endpoint externe (genre une url d'une api tierce). le service est créé mais de temps en temps la résolution dns depuis nos pods ne marche plus. un
nslookupdepuis le pod retourne un non-existent domain ou un timeout. puis ça revient à la normale tout seul. on dirait que c'est aléatoire mais ça pose problème pour les connexions. la config est super basiqueon utilise coredns par défaut sur le cluster. des idées sur ce qui cloche ?