Service mesh et mTLS
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 mesh — Cilium 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.