dns récursif lent sur k8s pour des domaines externes

Posté par audrey-delannoy le 15/04/2025
RÉSOLU

audrey-delannoy

Membre depuis le 07/11/2024

yo la team j'ai un souci bizarre avec le dns dans mon cluster k8s. les requêtes dns vers des domaines internes ça roule mais dès que c'est un domaine externe genre google.com ça prend une plombe des fois 5 6 secondes. on utilise core-dns avec les config par défaut à peu près. des idées d'où ça peut venir ?

# core-dns configmap snippet
apiVersion: v1
kind: ConfigMap
metadata:
  name: coredns
  namespace: kube-system
data:
  Corefile: |
    .:53 {
        errors
        health
        ready
        kubernetes cluster.local in-addr.arpa ip6.arpa {
          pods insecure
          fallthrough in-addr.arpa ip6.arpa
        }
        prometheus :9153
        forward . /etc/resolv.conf
        cache 30
        loop
        reload
        loadbalance
    }

Commentaires

albert-madeleine

Membre depuis le 28/07/2024

salut. si tes requêtes externes sont lentes check d'abord le /etc/resolv.conf des coredns pods. souvent ils pointent vers les dns du host k8s qui sont ptete pas ouf ou qui ont des filtres. essaie de mettre des forwarders dns directs dans la config coredns genre 1.1.1.1 ou 8.8.8.8

michelle29

Membre depuis le 25/06/2024

ouais ou ptete une histoire d'iptables sur le node. si le trafic udp 53 est pas bien routé ou si y'a des conntrack entries qui saturent. un ptit tcpdump sur le node et sur le pod coredns pour voir où ça bloque

audrey-delannoy

Membre depuis le 07/11/2024

ok je vais regarder le resolv.conf des pods. pour les forwarders j'y avais pensé mais on doit utiliser nos dns internes pour certains trucs on peut pas juste mettre du public partout.

albert-madeleine

Membre depuis le 28/07/2024

d'acc. dans ce cas tu peux avoir plusieurs forward blocks dans coredns. un pour tes domaines internes qui pointe vers tes dns on-prem et un autre pour les requêtes génériques . qui pointe vers du 1.1.1.1. c'est plus propre et ça évite les latences inutiles

          internal.lan:53 {
      forward . 10.0.0.10
  }
  .:53 {
      forward . 1.1.1.1 8.8.8.8
  }

audrey-delannoy

Membre depuis le 07/11/2024

ha c'est malin ça. je vais tester cette config avec les deux blocks. je vous tiens au jus. thx pour les pistes

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