16 commentaires
hello! souvent les problèmes mTLS avec des services legacy ça vient de la rotation des certs. tes services hérités ils rechargent bien les certs envoy injectés par istio/vault quand ils sont renouvelés?
istio est censé gérer le rechargement via envoy. mais parfois si le service lui-même cache le trust bundle ou ne fait pas de reconnect il peut y avoir un souci. t'as regardé les logs du sidecar envoy pendant les erreurs?
1.15 ça devrait être bon. le problème c'est que le sidecar peut mettre du temps à voir la mise à jour des secrets kube. solution temporaire: rolling restart des services legacy sur une fenêtre de maintenance. solution long terme: mettre en place un Deployment ou statefulset avec un imagePullPolicy: Always et un trigger de redéploiement sur changement de configmap/secret
si c'est statique alors il faut un méchanisme qui force le pod à redémarrer ou à recharger sa config envoy. un operator qui watch les secrets istio et redémarre les pods si besoin. ou juste un cron qui fait un kubectl rollout restart deployment
c'est la solution la plus simple pour l'instant. ça permet au sidecar de reprendre un nouveau lease avec le trust bundle à jour. assure-toi que tes HPA sont bien tunés pour absorber le traffic pendant le rolling update
Laisser une réponse
Vous devez être connecté pour poster un message !
salut! on a istio en mode mTLS strict avec vault pour les certs. sur les services récents nickel. mais sur des services legacy qui sont rarement mis à jour on a des erreurs de handshake mTLS genre 503 upstream connect error ou tls handshake timeout