cilium/cilium

GitHub: cilium/cilium

基于 eBPF 技术的 Kubernetes 网络、安全与可观测性解决方案,提供高性能 CNI、服务网格和网络策略能力。

Stars: 23864 | Forks: 3622

.. raw:: html Cilium Logo |cii| |go-report| |clomonitor| |artifacthub| |slack| |go-doc| |rtd| |apache| |bsd| |gpl| |fossa| |gateway-api| |codespaces| Cilium 是一种基于 eBPF 数据平面的网络、可观测性和安全解决方案。它提供了一个简单的扁平三层网络,能够以原生路由或覆盖网络模式跨越多个集群。它具备 L7 协议感知能力,并且可以使用与网络寻址解耦的基于身份的安全模型在 L3-L7 层实施网络策略。 Cilium 实现了 Pod 之间以及与外部服务之间流量的分布式负载均衡,并且能够利用 eBPF 中高效的哈希表完全取代 kube-proxy,从而实现几乎无限的可扩展性。它还支持高级功能,如集成的入口和出口网关、带宽管理和服务网格,并提供深度的网络和安全可见性与监控。 一种称为 eBPF_ 的新 Linux 内核技术是 Cilium 的基础。它支持在各个集成点(例如:网络 IO、应用程序套接字和跟踪点)将 eBPF 字节码动态插入 Linux 内核,以实现安全、网络和可见性逻辑。eBPF 具有高效且灵活的特点。要了解更多关于 eBPF 的信息,请访问 `eBPF.io`_。 .. image:: Documentation/images/cilium-overview.png :alt: Cilium 网络、可观测性、服务网格和运行时安全功能概述 .. raw:: html CNCF Graduated Project eBPF Logo # 稳定版本 Cilium 社区为最近三个 Cilium 次要版本维护次要稳定版本。在此之前次要版本的旧 Cilium 稳定版本被视为 EOL(生命周期结束)。 关于升级到新的次要版本,请查阅 `Cilium 升级指南`_。 下面列出了积极维护的发布分支及其最新的补丁版本、相应的镜像拉取标签及其发布说明: +---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+ | `v1.19 `__ | 2026-02-17 | ``quay.io/cilium/cilium:v1.19.1`` | `发布说明 `__ | +---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+ | `v1.18 `__ | 2026-02-12 | ``quay.io/cilium/cilium:v1.18.7`` | `发布说明 `__ | +---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+ | `v1.17 `__ | 2026-02-12 | ``quay.io/cilium/cilium:v1.17.13`` | `发布说明 `__ | +---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+ ## 架构 Cilium 镜像支持 AMD64 和 AArch64 架构。 ## 软件物料清单 从 Cilium 版本 1.13.0 开始,所有镜像都包含软件物料清单 (SBOM)。SBOM 以 `SPDX`_ 格式生成。有关更多信息,请参阅 `Cilium SBOM`_。 .. _`SPDX`: https://spdx.dev/ .. _`Cilium SBOM`: https://docs.cilium.io/en/latest/configuration/sbom/ # 开发 出于开发和测试目的,Cilium 社区发布了基于 `main 分支 `_ 构建的快照、早期候选版本 (RC) 和 CI 容器镜像。这些镜像不适用于生产环境。 关于测试升级到新的开发版本,请查阅 `Cilium 升级指南`_ 的最新开发构建。 下面列出了用于测试的分支及其快照或 RC 版本、相应的镜像拉取标签及其发布说明(如适用): +----------------------------------------------------------------------------+------------+-----------------------------------------+---------------------------------------------------------------------------------+ | `main `__ | 每天 | ``quay.io/cilium/cilium-ci:latest`` | 不适用 | +----------------------------------------------------------------------------+------------+-----------------------------------------+---------------------------------------------------------------------------------+ # 功能概述 .. begin-functionality-overview ## CNI (容器网络接口) `作为 CNI 插件的 Cilium `_ 为 Kubernetes 集群提供了一个快速、可扩展且安全的网络层。它构建于 eBPF 之上,提供了多种部署选项: * **覆盖网络:** 基于封装的虚拟网络,跨越所有主机,支持 VXLAN 和 Geneve。它几乎适用于任何网络基础设施,因为唯一的要求是主机之间具有 IP 连通性,而这通常是已有的。 * **原生路由模式:** 使用 Linux 主机的常规路由表。网络需要能够路由应用程序容器的 IP 地址。它与云路由器、路由守护程序和 IPv6 原生基础设施集成。 * **灵活的路由选项:** Cilium 可以在常见拓扑中自动化路由学习和通告,例如当节点共享二层域时使用 L2 邻居发现,或者在跨越三层边界路由时使用 BGP。 每种模式都旨在与现有基础设施实现最大程度的互操作性,同时最大限度地减少运维负担。 ## 负载均衡 Cilium 为应用程序容器之间以及与外部服务之间的流量实现了分布式负载均衡。负载均衡在 eBPF 中使用高效的哈希表实现,从而在高密度服务下实现低延迟。 * **东西向负载均衡** 在套接字级别重写服务连接 (``connect()``),避免了每包 NAT 的开销,并完全 `取代了 kube-proxy `_。 * **南北向负载均衡** 支持用于高吞吐量场景的 XDP 和 `四层负载均衡 `_,包括直接服务器返回 (DSR) 和 Maglev 一致性哈希。 ## 集群网格 Cilium `集群网格 `_ 支持跨多个 Kubernetes 集群的安全、无缝连接。对于运行混合云或多云环境的运维人员,集群网格确保了一致的安全和连接体验。 * **全局服务发现:** 跨集群的工作负载可以发现并连接服务,就像它们是本地的一样。这实现了容错能力,例如自动故障转移到另一个集群的后端,并跨环境暴露共享服务,如日志记录、身份验证或数据库。 * **统一的身份模型:** 安全策略基于身份而非 IP 地址在所有集群中实施。 ## 网络策略 Cilium `网络策略 `_ 提供跨 L3-L7 的身份感知实施。典型的容器防火墙通过过滤源 IP 地址和目标端口来保护工作负载。这种概念要求无论何时在集群中的任何地方启动容器,都必须操作所有服务器上的防火墙。 为了避免这种限制规模的情况,Cilium 将安全身份分配给共享相同安全策略的一组应用程序容器。然后,该身份与应用程序容器发出的所有网络数据包相关联,从而允许在接收节点验证身份。 * **基于身份的安全** 消除了对脆弱 IP 地址的依赖。 * **L3/L4 策略** 根据标签、协议和端口限制流量。 * **基于 DNS 的策略:** 允许或拒绝到 FQDN 或通配符域名的流量(例如 ``api.example.com``, ``*.trusted.com``)。这对于保护到第三方服务的出口流量特别有用。 * **L7 感知策略** 允许按 HTTP 方法、URL 路径、gRPC 调用等进行过滤: * 示例:仅允许对 ``/public/.*`` 的 GET 请求。 * 强制执行诸如 ``X-Token: [0-9]+`` 之类的标头。 还支持基于 CIDR 的出口和入口策略,用于控制对外部 IP 的访问,非常适合与遗留系统或监管边界集成。 ## 服务网格 借助 Cilium `服务网格 `_,运维人员可以获得细粒度流量控制、加密、可观测性、访问控制的好处,而没有传统基于代理设计的成本和复杂性。主要功能包括: * **双向认证**,使用 IPSec 或 WireGuard 在工作负载之间自动进行基于身份的加密。 * **L7 感知策略实施**,用于安全和合规。 * **与 Kubernetes Gateway API 深度集成:** 作为 `Gateway API `_ 兼容的数据平面,允许您使用 Kubernetes 原生 CRD 声明式管理入口、流量分割和路由行为。 ## 可观测性与故障排查 可观测性已深入构建到 Cilium 中,提供了丰富的可见性,帮助运维人员诊断和理解系统行为,包括: * **Hubble:** 一个完全集成的可观测性平台,提供实时服务映射、带有身份和标签元数据的流可见性,以及 DNS 感知过滤和特定协议的洞察 * **指标和警报:** 与 Prometheus、Grafana 和其他监控系统集成。 * **丢弃原因和审计跟踪:** 获得关于流量为何被丢弃的可操作见解,包括策略或端口违规以及 DNS 查找失败等问题。 .. end-functionality-overview # 快速入门 * `为什么选择 Cilium?`_ * `快速入门`_ * `架构与概念`_ * `安装 Cilium`_ * `常见问题`_ * 贡献_ # 社区 ## Slack 加入 Cilium `Slack 频道 `_ 与 Cilium 开发者和其他 Cilium 用户聊天。这是了解 Cilium、提问和分享经验的好地方。 ## 特别兴趣小组 (SIG) 请参阅 `特别兴趣小组 `_ 以获取所有 SIG 及其会议时间的列表。 ## 开发者会议 Cilium 开发者社区在 Zoom 上聊天。欢迎大家参与。 * 每周三,下午 5:00 `欧洲/苏黎世时间 `__ (CET/CEST),通常相当于太平洋时间上午 8:00 或美国东部时间上午 11:00。`会议记录和 Zoom 信息`_ * 每月第三个周三,上午 9:00 `日本时间 `__ (JST)。`APAC 会议记录和 Zoom 信息`_ ## eBPF & Cilium 办公时间直播 我们每周举办一次社区 `YouTube 直播,名为 eCHO `_,(非常随意地!)代表 eBPF & Cilium Office Hours。加入我们的直播,回顾往期节目,或前往 `eCHO 仓库 `_ 告诉我们您希望我们涵盖的主题想法。 ## 治理 Cilium 项目由一组 `维护者和提交者 `__ 管理。 他们的选拔和治理方式在我们的 `治理文档 `__ 中有概述。 ## 采用者 在生产环境中部署 Cilium 项目的采用者及其用例列表可以在文件 `USERS.md `__ 中找到。 # 许可证 .. _apache-license: LICENSE .. _bsd-license: bpf/LICENSE.BSD-2-Clause .. _gpl-license: bpf/LICENSE.GPL-2.0 Cilium 用户空间组件根据 `Apache License, Version 2.0 `__ 授权。 BPF 代码模板根据 `General Public License, Version 2.0 (only) `__ 和 `2-Clause BSD License `__ 双重授权(您可以选择任一许可证的条款使用)。 .. _`Cilium 升级指南`: https://docs.cilium.io/en/stable/operations/upgrade/ .. _`为什么选择 Cilium?`: https://docs.cilium.io/en/stable/overview/intro .. _`快速入门`: https://docs.cilium.io/en/stable/#getting-started .. _`架构与概念`: https://docs.cilium.io/en/stable/overview/component-overview/ .. _`安装 Cilium`: https://docs.cilium.io/en/stable/gettingstarted/k8s-install-default/ .. _`常见问题`: https://github.com/cilium/cilium/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Akind%2Fquestion+ .. _贡献: https://docs.cilium.io/enable/contributing/development/ .. _Prerequisites: https://docs.cilium.io/en/stable/operations/system_requirements/ .. _`eBPF`: https://ebpf.io .. _`eBPF.io`: https://ebpf.io .. _`会议记录和 Zoom 信息`: https://docs.google.com/document/d/1Y_4chDk4rznD6UgXPlPvn3Dc7l-ZutGajUv1eF0VDwQ/edit# .. _`APAC 会议记录和 Zoom 信息`: https://docs.google.com/document/d/1egv4qLydr0geP-GjQexYKm4tz3_tHy-LCBjVQcXcT5M/edit# .. |go-report| image:: https://goreportcard.com/badge/github.com/cilium/cilium :alt: Go 报告卡 :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: 阅读文档 :target: https://docs.cilium.io/ .. |apache| image:: https://img.shields.io/badge/license-Apache-blue.svg :alt: Apache 授权 :target: apache-license_ .. |bsd| image:: https://img.shields.io/badge/license-BSD-blue.svg :alt: BSD 授权 :target: bsd-license_ .. |gpl| image:: https://img.shields.io/badge/license-GPL-blue.svg :alt: GPL 授权 :target: gpl-license_ .. |slack| image:: https://img.shields.io/badge/slack-cilium-brightgreen.svg?logo=slack :alt: 加入 Cilium slack 频道 :target: https://slack.cilium.io .. |cii| image:: https://bestpractices.coreinfrastructure.org/projects/1269/badge :alt: CII 最佳实践 :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 状态 :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.4.0-Cilium-green :alt: Gateway API 状态 :target: https://github.com/kubernetes-sigs/gateway-api/tree/main/conformance/reports/v1.4.0/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
标签:AGPLv3 许可证, API网关, Cilium, CISA项目, CNCF, Docker镜像, EVTX分析, EVTX分析, IP 地址批量处理, JSONLines, kube-proxy替代, L7协议, Linux内核, NPM, web渗透, 入站/出站网关, 子域名突变, 容器网络, 密码管理, 带宽管理, 开发效率, 开源安全工具, 日志审计, 服务网格, 深度包检测, 网络可观测性, 网络安全, 网络安全分析, 网络流量管理, 网络策略, 自定义请求头, 负载均衡, 逆向工程平台, 隐私保护, 集群互联, 零信任, 高性能网络