Présentation

La version 1.20 de Cilium, le projet de réseau basé sur eBPF, introduit plusieurs évolutions majeures. Parmi elles, le support IPv6 pour AWS ENI IPAM permet aux clusters Kubernetes déployés sur Amazon Web Services d’attribuer automatiquement des adresses IPv6 aux interfaces réseau Elastic Network Interface (ENI). Cette capacité répond à la demande croissante d’adressage IPv6 dans les environnements multicloud.

Nouvelles fonctionnalités réseau

En plus du support IPv6, Cilium 1.20 propose des plugins datapath qui exposent une interface extensible aux tiers. Ces plugins permettent d’ajouter des traitements personnalisés au niveau du datapath eBPF sans forker le projet, préservant ainsi la maintenabilité du code principal. La version stabilise également l’API Multi‑Cluster Services, la faisant passer du statut bêta à stable, ce qui simplifie la mise en place de services inter‑clusters avec des politiques de routage cohérentes.

Architecture et impacts opérationnels

Le support IPv6 repose sur l’intégration du module ENI IPAM d’AWS, qui génère des préfixes IPv6 à partir du pool d’adresses attribué à la VPC. Cilium utilise alors eBPF pour programmer les tables de routage et les filtres de paquets directement dans le noyau Linux, éliminant le besoin de iptables natifs. Cette approche réduit la latence de traitement des paquets et diminue l’empreinte mémoire du plan de contrôle. Les plugins datapath s’appuient sur le même mécanisme eBPF, offrant un point d’extension où des modules tiers peuvent injecter des programmes BPF via l’API Cilium, tout en conservant la vérification de sécurité du runtime.

Limitations et perspectives

Malgré ces avancées, la version 1.20 déprécie la mutual authentication legacy au profit du proxy ztunnel. Les environnements qui s’appuient encore sur l’ancienne méthode doivent migrer, ce qui peut entraîner des interruptions si la transition n’est pas planifiée. De plus, la nouvelle option per‑pod disable source IP verification offre une granularité fine, mais augmente le risque de configuration erronée, notamment dans les clusters où les politiques de sécurité sont gérées de façon centralisée. Enfin, le support IPv6 reste conditionné à la disponibilité d’un pool IPv6 dans la VPC AWS ; sans cela, les pods restent en IPv4 uniquement, limitant l’universalité de la fonctionnalité.