9 commentaires
on est sur la dernière version de external-dns et des services type ClusterIP ou Headless pour le lookup. oui route53. le souci c'est quand un service est détruit et recréé très vite des fois l'ancien record est pas cleané ou le nouveau est pas encore propagé
yep et aussi vérifie que tes annotations sur tes services k8s sont bien configurées pour external-dns. des fois y a des oublis genre l'annotation domain.external-dns.alpha.kubernetes.io/ttl: "60" pour forcer le ttl court
j'ai check les logs et on est bien sur des throttlings parfois quand ça bouge trop. les annotations sont ok par contre pas pensé au --remove-unmanaged-records je vais tester ça direct. et on a déjà le ttl à 60s
le throttling est ton ennemi alors. tu peux ptete batcher tes créations de services ou augmenter les quotas api si c'est possible mais je suis pas sûr que aws le fasse pour route53. sinon pour des trucs vraiment éphémères tu peux aussi envisager un service mesh avec un registry interne comme consul ou istio qui gère son propre dns service discovery
oui la solution service mesh est plus robuste pour des grosses dynamiques. ou sinon tu peux envisager un cache dns local type dnsmasq sur tes pods qui va cacher les réponses de route53 avec un ttl très bas mais c'est pas géré par external-dns directement
ok merci pour tous les tips les gars ! le --remove-unmanaged-records a déjà l'air d'aider un peu. je vais creuser la piste du throttling et regarder pour un service mesh à long terme. merci encore !
Laisser une réponse
Vous devez être connecté pour poster un message !
Salut la team on gère des milliers de microservices en k8s souvent éphémères. Le truc c'est qu'on a besoin de noms de domaine stables genre service-x.domain.com même si l'ip change ou l'instance meurt. On utilise ExternalDNS pour AWS mais ça galère grave à suivre la cadence niveau TTL et cleanup. Vous avez des best practices ou d'autres outils pour gérer ça proprement ?