dns résolution lente pour nos microservices internes avec k8s

rossi-olivie 19/05/2024
RÉSOLU

yo la k8s team on a un gros souci de dns sur notre cluster. nos microservices ont des latences de dingue pour résoudre les noms de services internes genre "my-service.my-namespace.svc.cluster.local". ça prend des centaines de ms des fois. on est sur un cluster gke avec coredns default. j'ai déjà regardé les logs coredns mais rien de flagrant


# exemple de yaml pour un pod (simplifié)
apiVersion: v1
kind: Pod
metadata:
  name: my-app
spec:
  containers:
  - name: my-app-container
    image: my-app:latest
19/05/2024 à 10:47

8 commentaires

salut. coredns est souvent le coupable effectivement. t'as combien de replicas de coredns et quelles sont les ressources (cpu/mem) allouées. si c sous-provisionné ça peut causer des lenteurs

20/05/2024 à 07:32
ifleury
Membre Actif Secouriste
Avatar de ifleury
ifleury
Membre Actif Secouriste

t'as des custom cni genre calico ou cilium. des fois une mauvaise config de ces derniers peut interférer avec la résolution dns ou le routage vers coredns

21/05/2024 à 06:35
georges01
Membre
Avatar de georges01
georges01
Membre

t'as un nombre colossal de services ou de pods dans ton cluster. coredns peut avoir du mal à gérer une très grande quantité de données dans le cache ou le forward s'il est pas optimisé

23/05/2024 à 02:04

fais un dig @ my-service.my-namespace.svc.cluster.local depuis un de tes pods et mesure le temps de réponse. ça permet d'isoler si c'est coredns ou le chemin réseau jusqu'à coredns

24/05/2024 à 00:35
wleconte
Membre Actif
Avatar de wleconte
wleconte
Membre Actif

t'as des règles networkpolicy qui pourraient bloquer ou ralentir le trafic udp 53 entre tes pods et les pods coredns. ça arrive des fois une règle trop restrictive

24/05/2024 à 21:37
timothee-gregoire
Membre Actif
Avatar de timothee-gregoire
timothee-gregoire
Membre Actif

regarde le coredns configmap. t'as pas des plugins un peu exotiques ou des forwards vers des dns externes qui mettent du temps à répondre

25/05/2024 à 19:01
michel-peron
Membre Actif
Avatar de michel-peron
michel-peron
Membre Actif

un cas que j'ai vu c'était des nodes qui manquaient de ressources cpu et donc le pod coredns était ralenti car il n'avait pas assez de cycles cpu pour traiter les requêtes rapidement

26/05/2024 à 14:15

merci les gars ! après avoir creusé avec vos conseils c'était un mix. coredns était effectivement sous-provisionné en cpu j'ai augmenté les requests/limits. et aussi une de mes network policies était trop générale et créait des congestions sur le trafic dns. une fois ajusté les latences sont revenues à la normale. énorme coup de main

27/05/2024 à 13:13

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