
cilium v1.20.2
Réseau, Sécurité et Observabilité basés sur eBPF
.. raw:: html
|cii| |go-report| |clomonitor| |artifacthub| |slack| |go-doc| |rtd| |apache| |bsd| |gpl| |fossa| |gateway-api| |codespaces|
Cilium est une solution de mise en réseau, d'observabilité et de sécurité dotée d'un plan de données basé sur eBPF. Il fournit un réseau plat de couche 3 simple, capable de s'étendre sur plusieurs clusters en mode routage natif ou en mode overlay. Il est conscient des protocoles de couche 7 et peut appliquer des politiques réseau sur les couches L3-L7 à l'aide d'un modèle de sécurité basé sur l'identité, découplé de l'adressage réseau.
Cilium met en œuvre un équilibrage de charge distribué pour le trafic entre les pods et vers les services externes, et peut remplacer entièrement kube-proxy, en utilisant des tables de hachage efficaces dans eBPF, ce qui permet une échelle presque illimitée. Il prend également en charge des fonctionnalités avancées telles que les passerelles d'entrée et de sortie intégrées, la gestion de la bande passante et le maillage de services, et offre une visibilité et une surveillance approfondies du réseau et de la sécurité.
Une nouvelle technologie du noyau Linux appelée eBPF_ est à la base de Cilium. Elle permet l'insertion dynamique de bytecode eBPF dans le noyau Linux à divers points d'intégration tels que : les E/S réseau, les sockets applicatives et les tracepoints, afin de mettre en œuvre la sécurité, la mise en réseau et la logique de visibilité. eBPF est très efficace et flexible. Pour en savoir plus sur eBPF, consultez eBPF.io_.
.. image:: Documentation/images/cilium-overview.png :alt: Aperçu des fonctionnalités de Cilium pour la mise en réseau, l'observabilité, le maillage de services et la sécurité d'exécution
.. raw:: html
Versions stables
La communauté Cilium maintient des versions stables mineures pour les trois dernières versions mineures de Cilium. Les versions stables plus anciennes issues de versions mineures antérieures sont considérées comme EOL.
Pour les mises à niveau vers de nouvelles versions mineures, veuillez consulter le Cilium Upgrade Guide_.
Vous trouverez ci-dessous les branches de publication activement maintenues, ainsi que leur dernière version corrective, les tags d'image correspondants et leurs notes de version :
+---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+
| v1.20 <https://github.com/cilium/cilium/tree/v1.20>__ | 2026-09-15 | quay.io/cilium/cilium:v1.20.2 | Release Notes <https://github.com/cilium/cilium/releases/tag/v1.20.2>__ |
+---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+
| v1.19 <https://github.com/cilium/cilium/tree/v1.19>__ | 2026-09-15 | quay.io/cilium/cilium:v1.19.8 | Release Notes <https://github.com/cilium/cilium/releases/tag/v1.19.8>__ |
+---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+
| v1.18 <https://github.com/cilium/cilium/tree/v1.18>__ | 2026-09-15 | quay.io/cilium/cilium:v1.18.14 | Release Notes <https://github.com/cilium/cilium/releases/tag/v1.18.14>__ |
+---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+
Architectures
Les images Cilium sont distribuées pour les architectures AMD64 et AArch64.
Nomenclature logicielle (SBOM)
À partir de la version 1.13.0 de Cilium, toutes les images incluent une nomenclature logicielle (SBOM). Le SBOM est généré au format SPDX. Plus d'informations à ce sujet sont disponibles sur Cilium SBOM.
.. _SPDX: https://spdx.dev/
.. _Cilium SBOM: https://docs.cilium.io/en/latest/configuration/sbom/
Développement
À des fins de développement et de test, la communauté Cilium publie des snapshots, des versions candidates précoces (RC) et des images de conteneur CI construites à partir de la branche main <https://github.com/cilium/cilium/commits/main>_. Ces images ne sont pas destinées à être utilisées en production.
Pour tester les mises à niveau vers de nouvelles versions de développement, veuillez consulter la dernière version de développement du Cilium Upgrade Guide_.
Vous trouverez ci-dessous les branches de test, ainsi que leurs snapshots ou versions RC, les tags d'image correspondants et leurs notes de version le cas échéant :
+----------------------------------------------------------------------------+------------+-----------------------------------------+---------------------------------------------------------------------------------+
| main <https://github.com/cilium/cilium/commits/main>__ | daily | quay.io/cilium/cilium-ci:latest | N/A |
+----------------------------------------------------------------------------+------------+-----------------------------------------+---------------------------------------------------------------------------------+
| v1.21.0-pre.2 <https://github.com/cilium/cilium/commits/v1.21.0-pre.2>__ | 2026-09-09 | quay.io/cilium/cilium:v1.21.0-pre.2 | Release Notes <https://github.com/cilium/cilium/releases/tag/v1.21.0-pre.2>__ |
+----------------------------------------------------------------------------+------------+-----------------------------------------+---------------------------------------------------------------------------------+
Aperçu des fonctionnalités
.. begin-functionality-overview
CNI (Container Network Interface)
Cilium en tant que plugin CNI <https://cilium.io/use-cases/cni/>_ fournit une couche réseau rapide, évolutive et sécurisée pour les clusters Kubernetes. Construit sur eBPF, il offre plusieurs options de déploiement :
-
Mise en réseau overlay : un réseau virtuel basé sur l'encapsulation couvrant tous les hôtes, avec prise en charge de VXLAN et Geneve. Il fonctionne sur presque toutes les infrastructures réseau, la seule exigence étant la connectivité IP entre les hôtes, généralement déjà présente.
-
Mode routage natif : utilisation de la table de routage standard de l'hôte Linux. Le réseau doit être capable de router les adresses IP des conteneurs applicatifs. Il s'intègre aux routeurs cloud, aux démons de routage et aux infrastructures natives IPv6.
-
Options de routage flexibles : Cilium peut automatiser l'apprentissage et l'annonce des routes dans les topologies courantes, par exemple en utilisant la découverte de voisins L2 lorsque les nœuds partagent un domaine de couche 2, ou BGP lors du routage à travers des frontières de couche 3.
Chaque mode est conçu pour une interopérabilité maximale avec l'infrastructure existante tout en minimisant la charge opérationnelle.
Équilibrage de charge
Cilium met en œuvre un équilibrage de charge distribué pour le trafic entre les conteneurs applicatifs et vers/depuis les services externes. L'équilibrage de charge est implémenté en eBPF à l'aide de tables de hachage efficaces, permettant une densité de services élevée et une faible latence à grande échelle.
-
L'équilibrage de charge est-ouest réécrit les connexions de service au niveau du socket (
connect()), évitant la surcharge du NAT par paquet etremplaçant entièrement kube-proxy <https://cilium.io/use-cases/kube-proxy/>_. -
L'équilibrage de charge nord-sud prend en charge XDP pour les scénarios à haut débit et
l'équilibrage de charge de couche 4 <https://cilium.io/use-cases/load-balancer/>_, y compris le Direct Server Return (DSR) et le hachage cohérent Maglev.
Cluster Mesh
Cilium Cluster Mesh <https://cilium.io/use-cases/cluster-mesh/>_ permet une connectivité sécurisée et transparente entre plusieurs clusters Kubernetes. Pour les opérateurs gérant des environnements hybrides ou multi-cloud, Cluster Mesh garantit une expérience cohérente en matière de sécurité et de connectivité.
-
Découverte de services globale : les charges de travail de différents clusters peuvent découvrir et se connecter aux services comme s'ils étaient locaux. Cela permet la tolérance aux pannes, comme le basculement automatique vers des backends dans un autre cluster, et expose des services partagés tels que la journalisation, l'authentification ou les bases de données entre les environnements.
-
Modèle d'identité unifié : les politiques de sécurité sont appliquées en fonction de l'identité, et non de l'adresse IP, sur tous les clusters.
Politique réseau
Cilium Network Policy <https://cilium.io/use-cases/network-policy/>_ assure une application consciente de l'identité sur les couches L3-L7. Les pare-feu de conteneurs classiques sécurisent les charges de travail en filtrant sur les adresses IP sources et les ports de destination. Ce concept nécessite que les pare-feu de tous les serveurs soient manipulés chaque fois qu'un conteneur est démarré n'importe où dans le cluster.
Afin d'éviter cette situation qui limite l'échelle, Cilium attribue une identité de sécurité à des groupes de conteneurs applicatifs partageant des politiques de sécurité identiques. L'identité est ensuite associée à tous les paquets réseau émis par les conteneurs applicatifs, permettant à l'identité d'être validée au niveau du nœud récepteur.
-
La sécurité basée sur l'identité élimine la dépendance à des adresses IP fragiles.
-
Les politiques L3/L4 restreignent le trafic en fonction des labels, des protocoles et des ports.
-
Politiques basées sur le DNS : autoriser ou refuser le trafic vers des FQDN ou des domaines génériques (par exemple,
api.example.com,*.trusted.com). Cela est particulièrement utile pour sécuriser le trafic sortant vers des services tiers. -
Politiques conscientes de la couche 7 permettant de filtrer par méthode HTTP, chemin d'URL, appel gRPC, et plus encore :
-
Exemple : autoriser uniquement les requêtes GET vers
/public/.*. -
Imposer la présence d'en-têtes tels que
X-Token: [0-9]+.
-
Les politiques d'entrée et de sortie basées sur CIDR sont également prises en charge pour contrôler l'accès aux IP externes, idéal pour l'intégration avec des systèmes hérités ou des frontières réglementaires.
Maillage de services
Avec Cilium Service Mesh <https://cilium.io/use-cases/service-mesh/>_, les opérateurs bénéficient d'un contrôle précis du trafic, du chiffrement, de l'observabilité et du contrôle d'accès sans le coût et la complexité des conceptions traditionnelles basées sur des proxys. Les fonctionnalités clés incluent :
-
Authentification mutuelle avec chiffrement automatique basé sur l'identité entre les charges de travail à l'aide d'IPSec ou WireGuard.
-
Application de politiques conscientes de la couche 7 pour la sécurité et la conformité.
-
Intégration profonde avec l'API Gateway de Kubernetes : agit comme un plan de données conforme à
Gateway API <https://cilium.io/use-cases/gateway-api/>_, vous permettant de gérer de manière déclarative l'entrée, la répartition du trafic et le comportement de routage à l'aide de CRD natifs de Kubernetes.
Observabilité et dépannage
L'observabilité est intégrée à Cilium dès le départ, offrant une visibilité riche qui aide les opérateurs à diagnostiquer et à comprendre le comportement du système, notamment :
-
Hubble : une plateforme d'observabilité entièrement intégrée qui offre des cartes de services en temps réel, une visibilité des flux avec des métadonnées d'identité et de labels, ainsi qu'un filtrage conscient du DNS et des informations spécifiques aux protocoles
-
Métriques et alertes : intégration avec Prometheus, Grafana et d'autres systèmes de surveillance.
-
Raisons de rejet et pistes d'audit : obtenez des informations exploitables sur les raisons pour lesquelles le trafic a été rejeté, y compris les violations de politique ou de port et les problèmes tels que les échecs de résolution DNS.
.. end-functionality-overview
Pour commencer
Pourquoi Cilium ?_Pour commencer <gs_>_Architecture et concepts_Installer Cilium_Questions fréquentes_- Contributing_
Communauté
Slack
Rejoignez le canal Slack <https://slack.cilium.io>_ de Cilium pour discuter avec les développeurs de Cilium et d'autres utilisateurs de Cilium. C'est un bon endroit pour en apprendre davantage sur Cilium, poser des questions et partager vos expériences.
Groupes d'intérêt spéciaux (SIG)
Consultez les Special Interest Groups <https://github.com/cilium/community/blob/main/sigs.yaml>_ pour obtenir la liste de tous les SIG et leurs horaires de réunion.
Réunions des développeurs
La communauté des développeurs Cilium se retrouve sur Zoom pour discuter. Tout le monde est bienvenu.
- Chaque semaine, le mercredi,
17h00
heure d'Europe/Zurich <https://time.is/Canton_of_Zurich>__ (CET/CEST), généralement équivalent à 8h00 PT, ou 11h00 ET.Meeting Notes and Zoom Info_ - Le troisième mercredi de chaque mois, 13h30
heure du Japon <https://time.is/Tokyo>__ (JST).APAC Meeting Notes and Zoom Info_
Livestream eBPF & Cilium Office Hours
Nous organisons chaque semaine un livestream YouTube communautaire appelé eCHO <https://www.youtube.com/channel/UCJFUxkVQTBJh3LD1wYBWvuQ>_ qui (très librement !) signifie eBPF & Cilium Office Hours. Rejoignez-nous en direct, rattrapez les épisodes passés, ou rendez-vous sur le dépôt eCHO <https://github.com/isovalent/eCHO>_ et faites-nous part de vos idées de sujets que nous devrions aborder.
Gouvernance
Le projet Cilium est gouverné par un groupe de Maintainers and Committers <https://raw.githubusercontent.com/cilium/cilium/main/MAINTAINERS.md>.
La manière dont ils sont sélectionnés et gouvernent est décrite dans notre document de gouvernance <https://github.com/cilium/community/blob/main/GOVERNANCE.md>.
Adopteurs
Une liste des adopteurs du projet Cilium qui le déploient en production, ainsi que de leurs cas d'usage,
est disponible dans le fichier USERS.md <https://github.com/cilium/cilium/blob/main/USERS.md>__.
Licence
.. _apache-license: LICENSE .. _bsd-license: bpf/LICENSE.BSD-2-Clause .. _gpl-license: bpf/LICENSE.GPL-2.0
Les composants de l'espace utilisateur de Cilium sont sous licence
Apache License, Version 2.0 <apache-license_>.
Les modèles de code BPF sont sous double licence
General Public License, Version 2.0 (uniquement) <gpl-license_>
et 2-Clause BSD License <bsd-license_>__
(vous pouvez utiliser les termes de l'une ou l'autre licence, à votre choix).
.. _Cilium Upgrade Guide: https://docs.cilium.io/en/stable/operations/upgrade/ .. _Why Cilium?: https://docs.cilium.io/en/stable/overview/intro .. _gs: https://docs.cilium.io/en/stable/#getting-started .. _Architecture and Concepts: https://docs.cilium.io/en/stable/overview/component-overview/ .. _Installing Cilium: https://docs.cilium.io/en/stable/gettingstarted/k8s-install-default/ .. _Frequently Asked Questions: https://github.com/cilium/cilium/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Akind%2Fquestion+ .. _Contributing: https://docs.cilium.io/en/stable/contributing/development/ .. _Prerequisites: https://docs.cilium.io/en/stable/operations/system_requirements/ .. _eBPF: https://ebpf.io .. _eBPF.io: https://ebpf.io .. _Meeting Notes and Zoom Info: https://docs.google.com/document/d/1IqLRvTvnK5SQ1SMM8g8R_k2TeeRUwWmOYqjYWZs6MiM/edit# .. _APAC Meeting Notes and Zoom Info: https://docs.google.com/document/d/1egv4qLydr0geP-GjQexYKm4tz3_tHy-LCBjVQcXcT5M/edit#
.. |go-report| image:: https://goreportcard.com/badge/github.com/cilium/cilium :alt: Go Report Card :target: https://goreportcard.com/report/github.com/cilium/cilium
.. |go-doc| image:: https://godoc.org/github.com/cilium/cilium?status.svg :alt: GoDoc :target: https://godoc.org/github.com/cilium/cilium
.. |rtd| image:: https://readthedocs.org/projects/docs/badge/?version=latest :alt: Read the Docs :target: https://docs.cilium.io/
.. |apache| image:: https://img.shields.io/badge/license-Apache-blue.svg :alt: Apache licensed :target: apache-license_
.. |bsd| image:: https://img.shields.io/badge/license-BSD-blue.svg :alt: BSD licensed :target: bsd-license_
.. |gpl| image:: https://img.shields.io/badge/license-GPL-blue.svg :alt: GPL licensed :target: gpl-license_
.. |slack| image:: https://img.shields.io/badge/slack-cilium-brightgreen.svg?logo=slack :alt: Join the Cilium Slack channel :target: https://slack.cilium.io
.. |cii| image:: https://bestpractices.coreinfrastructure.org/projects/1269/badge :alt: CII Best Practices :target: https://bestpractices.coreinfrastructure.org/projects/1269
.. |clomonitor| image:: https://img.shields.io/endpoint?url=https://clomonitor.io/api/projects/cncf/cilium/badge :alt: CLOMonitor :target: https://clomonitor.io/projects/cncf/cilium
.. |artifacthub| image:: https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/cilium :alt: Artifact Hub :target: https://artifacthub.io/packages/helm/cilium/cilium
.. |fossa| image:: https://app.fossa.com/api/projects/custom%2B162%2Fgit%40github.com%3Acilium%2Fcilium.git.svg?type=shield :alt: FOSSA Status :target: https://app.fossa.com/projects/custom%2B162%2Fgit%40github.com%3Acilium%2Fcilium.git?ref=badge_shield
.. |gateway-api| image:: https://img.shields.io/badge/Gateway%20API%20Conformance%20v1.6-Cilium-green :alt: Gateway API Status :target: https://github.com/kubernetes-sigs/gateway-api/tree/main/conformance/reports/v1.6/cilium
.. |codespaces| image:: https://img.shields.io/badge/Open_in_GitHub_Codespaces-gray?logo=github :alt: Github Codespaces :target: https://github.com/codespaces/new?hide_repo_select=true&ref=master&repo=48109239&machine=standardLinux32gb&location=WestEurope