4 commentaires
Est-ce que tu utilises une image scratch ou alpine sans les bibliothèques C standard ? Go utilise netgo par défaut, mais s'il y a une dépendance CGO, il essaie d'utiliser glibc qui cherche /etc/nsswitch.conf.
Vérifie si ton Dockerfile contient bien les certificats CA et si le fichier /etc/resolv.conf n'est pas écrasé par ton application.
Mon image est effectivement basée sur alpine. Je vais essayer de recompiler mon binaire avec CGO_ENABLED=0 pour forcer l'usage du resolver Go pur.
Exactement, CGO_ENABLED=0 règle souvent ce genre de problèmes de résolution DNS sur les images minimalistes. C'est le réflexe à avoir en premier.
C'était bien ça ! Le binaire compilé avec CGO_ENABLED=0 résout parfaitement le DNS maintenant. Merci beaucoup pour le coup de main.
Laisser une réponse
Vous devez être connecté pour poster un message !
J'ai un service Go qui tourne dans un pod Kubernetes et qui essaie de contacter un autre service via son nom DNS interne (
my-service.default.svc.cluster.local). J'ai systématiquementdial tcp: lookup my-service: no such host.Le service est pourtant bien up et possède un endpoint valide. Une idée sur ce qui pourrait bloquer la résolution DNS dans mon conteneur ?