Service mesh et mTLS

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Fiche d'arbitrage (service mesh)
Implémentations Istio · Linkerd
Apport principal mTLS automatique, trafic fin, observabilité L7
Alternative légère mTLS via Cilium (sans mesh complet)
Voir aussi Cilium et eBPF · Ingress et Gateway API · NetworkPolicies

Fiche d'arbitrage. Un service mesh (Istio, Linkerd) ajoute une couche de communication de service à service : mTLS, routage fin, observabilité, résilience. Il apporte de la valeur mais un coût réel. Cette page aide à décider quand il se justifie — ou non.

Ce qu'apporte un mesh

  • mTLS automatique — chiffrement et authentification mutuelle est-ouest, avec rotation de certificats gérée. Brique d'une posture zero-trust.
  • Trafic fin — répartition pondérée (canary), miroir, retries, timeouts, circuit breaking.
  • Observabilité — métriques, traces, topologie L7 sans instrumenter le code.
  • Politiques d'autorisation L7 (identité de service).

Architectures

<mermaid> flowchart TD

   subgraph Sidecar
     A1[Pod] --- PX1[Proxy]
     B1[Pod] --- PX2[Proxy]
     PX1 <-->|mTLS| PX2
   end
   subgraph Sidecarless[Sidecarless / eBPF-mTLS]
     A2[Pod] <-->|mTLS niveau noeud| B2[Pod]
   end

</mermaid>

  • Sidecar (Istio classique, Linkerd) — un proxy par Pod. Riche, mais surcoût CPU/mémoire et latence par Pod.
  • Ambient / sidecarless (Istio ambient) — mTLS et L4 au niveau du nœud, L7 à la demande. Réduit le surcoût.
  • mTLS sans meshCilium peut fournir chiffrement (WireGuard/IPsec) et une partie des politiques d'identité, couvrant certains besoins sans mesh complet.

Istio vs Linkerd

Critère Istio Linkerd
Périmètre Très large, extensible Volontairement minimal
Complexité Élevée Faible (opinionated)
Data plane Envoy (sidecar ou ambient) micro-proxy Rust
Empreinte Plus lourde Légère
Idéal si Besoins avancés, multi-cluster, WAF/L7 riche mTLS + observabilité simples, vite en prod

Arbitrage : mesh ou pas ?

Signal Penche vers…
Besoin mTLS est-ouest seul CNI (Cilium) avant un mesh
Canary/retries/observabilité L7 avancés Service mesh justifié
Poignée de services, petite équipe Souvent pas de mesh (complexité > valeur)
Zero-trust exigé par la conformité Mesh (mTLS + authz L7) ou Cilium selon exigences
Multi-cluster, gouvernance forte Istio
« Vite du mTLS + métriques, sans usine » Linkerd

Règle : n'introduire un mesh que si le besoin L7 (trafic fin, authz, observabilité de service) est réel et récurrent. Pour du seul chiffrement est-ouest, commencer par le CNI. Un mesh mal maîtrisé ajoute une surface de panne et d'audit non négligeable.

Voir aussi