CNI — Panorama et choix
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Type | Spécification + comparatif d'implémentations |
| Options couvertes | Calico/Canal · Cilium |
| Contrainte | Choix au jour 0 (changer de CNI en prod = intrusif) |
| Voir aussi | Réseau Kubernetes — Modèle et primitives · Cilium et eBPF · NetworkPolicies · SDN datacenter vs overlay CNI |
Le CNI (Container Network Interface) est la spécification qui délègue l'implémentation du réseau des Pods à un plugin. Cette page compare les options courantes et donne des critères de choix. Focus : Calico/Canal vs Cilium.
Rôle d'un CNI
À la création d'un Pod, kubelet appelle le plugin CNI pour : attribuer une IP, créer les interfaces, poser les routes, et (selon le plugin) appliquer les NetworkPolicies. Le plugin choisit aussi le mode de transport : overlay ou routage natif.
Options courantes
- Calico — routage L3 (souvent BGP), NetworkPolicies mûres, mode overlay (VXLAN/IPIP) ou natif. Robuste et répandu.
- Canal — assemblage historique Flannel (réseau) + Calico (policies). Simple, mais moins riche.
- Cilium — datapath eBPF, sécurité par identité, policies L3-L7, chiffrement natif, observabilité Hubble, remplacement de kube-proxy. Projet CNCF gradué. Souvent le CNI natif de RKE2/Rancher.
Critères de choix
| Critère | Calico / Canal | Cilium |
|---|---|---|
| Datapath | iptables / routage (eBPF en option Calico) | eBPF natif |
| NetworkPolicies | L3/L4 (standard + CRD Calico) | L3/L4 + L7 (HTTP, gRPC, Kafka…) |
| Remplace kube-proxy | Partiel selon mode | Oui (kube-proxy replacement) |
| Chiffrement | WireGuard (Calico) | WireGuard / IPsec natif |
| Observabilité | Limitée | Hubble (flux est-ouest, L3-L7) |
| Multi-cluster | Fédération BGP | Cluster Mesh |
| Maturité policies | Très éprouvée | Très éprouvée, plus riche (identité) |
| Complexité | Modérée | Plus élevée (eBPF, tuning) |
Grille de décision
- Besoin de policies L7, d'observabilité est-ouest fine, ou de remplacer kube-proxy à grande échelle → Cilium.
- Besoin d'un BGP mûr vers un fabric existant, ou d'une solution éprouvée et simple → Calico.
- Contexte air-gap / classifié : privilégier le chiffrement natif et la traçabilité des flux (Cilium + Hubble sont un atout), sans négliger la disponibilité des images en registre privé.
- RKE2/Rancher : Cilium est intégré et bien supporté ; Canal reste le défaut historique de RKE2.
Contrainte forte : changer de CNI sur un cluster en production est intrusif (souvent recréation). Le choix se fait au jour 0.