Problème résolution DNS externe intempestives
... / Problème résolution DNS e...
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Question

Problème résolution DNS externe intempestives

by
Youri
Created on 2018-09-17 14:18:22 (edited on 2024-09-04 11:41:58) in Conteneurs et Orchestration

Bonjour,

Nous utilisons Kubernetes sur différents infras couplé avec des services bases de données mangées.

Nous rencontrons des problèmes de résolution sur les noms de domaones externes à l'infra Kubernetes de manière aléatoire ( par exemple sur la résolution des noms de domaine des services bases de données ou sur des calls API sur des services / URL ).

La résolution a l'air d'être correctement configurée car 99% du temps cela fonctionne mais cela nous génère des execptions .

Nous avons essayé de configurer les noms de domaines externes avec un . à la fin du nom pour forcer la résolution des noms de domaines externes mais cela n'améliore pas le problème.

Nous rencontrons ce problème sur 3 infras différentes .

Voici des exemples d'erreurs:

cURL error 6: Could not resolve host: healthchecks.XXXXX.com
php_network_getaddresses: getaddrinfo for rsXXXX-XXX.dbaas.ovh.net. failed: Temporary failure in name resolution
Redis::hMset(): php_network_getaddresses: getaddrinfo for rsXXXX-XXX.dbaas.ovh.net. failed: Name or service not known

Les pods coredns répondent bien aux requetes et il n'y a pas de redémarrages .

En revanche dans les logs des pods coredns il y a des erreurs de temps en temps:

[INFO] 10.2.5.215:40836 - 13035 "A IN healthchecks.XXXXX.com. udp 43 false 512" SERVFAIL qr,aa,rd,ra 43 0.000139992s
[INFO] 10.2.5.215:40836 - 24040 "AAAA IN healthchecks.XXXXX.com. udp 43 false 512" SERVFAIL qr,rd,ra 43 0.012271069s
[INFO] 10.2.5.215:40836 - 13035 "A IN healthchecks.XXXXX. udp 43 false 512" SERVFAIL qr,aa,rd,ra 43 0.000111508s
[INFO] 10.2.5.215:40836 - 24040 "AAAA IN healthchecks.XXXXX.com. udp 43 false 512" SERVFAIL qr,rd,ra 43 0.028414108s
[INFO] 10.2.6.142:49523 - 13995 "A IN healthchecks.XXXXX.com. udp 43 false 512" SERVFAIL qr,aa,rd,ra 43 0.000172595s
[INFO] 10.2.6.142:49523 - 2960 "AAAA IN healthchecks.XXXXX.com. udp 43 false 512" SERVFAIL qr,rd,ra 43 0.024782729s
[INFO] 10.2.6.142:49523 - 13995 "A IN healthchecks.XXXXX. udp 43 false 512" SERVFAIL qr,aa,rd,ra 43 0.000139891s
[INFO] 10.2.6.142:49523 - 2960 "AAAA IN healthchecks.XXXXX.com. udp 43 false 512" SERVFAIL qr,rd,ra 43 0.015871453s



Merci pour votre aide !


3 Replies ( Latest reply on 2024-02-26 16:37:32 by
Youri
)

Bonjour @Youri,

Si le dysfonctionnement est toujours d'actualité, je vous invite à ajouter davantage d'informations, tests effectués afin que la communauté puisse vous faire un retour adapté.

Si vous avez depuis obtenu la solution, n'hésitez pas à la partager ici afin d'en faire profiter le plus grand nombre :)

^FabL

Bonjour,

le dysfonctionnement persiste mais nous avons trouvé un moyen de contourner le problème .

Nous avons fait tourner en boucle des commandes curl sur un domaine externe et analysé les logs COREDNS .

A plusieurs moments nous avons constaté des erreurs ( SERVERFAULT )

Après plusieurs tests nous avons trouvé une solution provisoire qui a l'air de bien fonctionner.

Sur les 3 infras kubernetes différentes surs lesquelles nous avions largement plus de 20 / 30 problèmes de résolution DNS par jour nous sommes passé a 0 depuis 4 jours.

Pour cela nous avons modifié le configmap coredns des en changeant la configuration du forward :

> forward . /etc/resolv.conf {
> prefer_udp
> policy sequential
> }

par

> forward . 1.1.1.1 ( Serveur DNS de Cloudflare ) .

Depuis il n'y a plus aucune erreur de résolution DNS sur les domaines externes .

Il reste le problème de voir si ce changement sera persistant en cas de mise à jour de l'infra.

La modification fonctionne bien mais le fichier coredns est écrasé périodiquement .
Dès que le l'option forward est de nouveau /etc/resolv.conf les problèmes de résolution sur les domaines externes reviennent.

Nous avons tenté de modifier la configuration via le fichier coredns-custom mais il n'est apparament pas possible de modifier l'option forward générale ( mais que pour un nom de domaine ) .

https://help.ovhcloud.com/csm/fr-public-cloud-kubernetes-customizing-coredns?id=kb_article_view&sysparm_article=KB0054972

Avez-vous une solution pérenne à proposer ?

Bonjour @FabL.

Le problème est toujours d'actualité. Voici en dessous les dernières informations.

Bonne journée