Membre depuis le 19/04/2019
Salut ! 500ms c énorme pour du DNS interne. T'as checké les métriques de tes pods CoreDNS? genre CPU, mémoire, ou le nombre de requêtes traitées par seconde. Des fois c juste le CoreDNS qui est à la ramasse ou qui OOMKills. Regarde les logs avec `kubectl logs -n kube-system -l k8s-app=kube-dns`
Membre depuis le 29/03/2019
Est-ce que t'as des custom `resolv.conf` sur tes pods? Ou des NetworkPolicies qui pourraient impacter le trafic DNS? Souvent les gens ajoutent des serveurs DNS externes et ça fout le bordel avec la résolution interne
Membre depuis le 03/03/2019
Regarde aussi les `ndots` dans `/etc/resolv.conf` des pods. Si c'est trop haut (genre 5), chaque requête DNS va essayer plein de suffixes avant d'arriver au bon service, ça peut créer des latences. K8s met souvent `ndots:5` par défaut. T'as essayé de réduire ça pour voir?
Membre depuis le 19/03/2020
pas de custom `resolv.conf` j'ai vérifié. les networkpolicies sont là mais elles autorisent le trafic dns sur le port 53 vers le service coredns. pour les `ndots` c'est bien à 5. je vais regarder les métriques de coredns j'avais pas pensé à ça je check avec `top` dans les pods
Membre depuis le 19/04/2019
Oui le `ndots:5` c'est un piège classique. Tu peux tester avec `options ndots:1` dans le `dnsConfig` de ton pod pour voir si ça change quelque chose. Ça réduit le nombre de recherches de suffixes pour les noms non qualifiés
Membre depuis le 29/03/2019
Si CoreDNS est surchargé, la solution simple c'est de scale up les réplicas. Ou d'augmenter la taille du cache si tu en utilises un. Ou vérifier si un client fait pas des requêtes débiles en boucle. Le prometheus de CoreDNS donne de bonnes infos
Membre depuis le 03/03/2019
Y'a aussi l'option du NodeLocal DNSCache. Ça met un cache DNS sur chaque node ce qui réduit la charge sur les pods CoreDNS centraux et améliore la latence. C'est un DaemonSet. Si tu peux le déployer, ça aide énormément.
Membre depuis le 19/03/2020
Bon c'était le `ndots:5` !!! En passant un pod avec `ndots:1` les requêtes sont quasi instantanées. Je vais voir comment changer ça globalement pour mes deploys. Et ptete mettre NodeLocal DNSCache en plus. Merci à tous c'est top
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
brigitte-camus
Membre depuis le 19/03/2020
Yo la team on a un gros souci de perf sur les résolutions DNS internes dans notre cluster k8s. ça rame à mort genre 500ms pour des services qui sont juste à côté. Des fois ça timeout carrément. J'ai des logs de coredns qui montrent rien de spécial mais je suis ptete passé à côté d'un truc. on a genre 500 pods et pas mal de requêtes inter-services.