Membre depuis le 30/09/2019
yo! external-dns est censé bien gérer ça. t'as quelle version et quel type de source tu utilises genre service ingress ou CRD ? la latence du DNS provider (route53 ?) peut jouer aussi pour le update
Membre depuis le 28/04/2024
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é
Membre depuis le 02/08/2019
hmm pour la propagation tu peux pas faire grand chose à part réduire le ttl du record dans route53 au minimum genre 60s. par contre pour le cleanup t'as activé la flag `--remove-unmanaged-records` ? ça aide pas mal
Membre depuis le 19/09/2024
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
Membre depuis le 30/09/2019
et sinon question bête mais t'as pas trop de services avec le même nom qui se créent delete tout le temps ? ça peut spammer route53 api et te faire throttler. regarde tes logs external-dns et cloudtrail pour les appels api
Membre depuis le 28/04/2024
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
Membre depuis le 02/08/2019
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
Membre depuis le 19/09/2024
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
Membre depuis le 28/04/2024
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 !
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
auguste-hebert
Membre depuis le 28/04/2024
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 ?