cilium/cilium

GitHub Trending (daily) 工具

摘要

Cilium 是一个基于 eBPF 的网络、可观测性和安全解决方案,专为云原生环境设计,提供负载均衡和网络策略执行等高级功能。

基于 eBPF 的网络、安全和可观测性
查看原文
查看缓存全文

缓存时间: 2026/09/17 14:41

cilium/cilium

来源:https://github.com/cilium/cilium

Cilium 是一个基于 eBPF 数据平面的网络、可观测性和安全解决方案。它提供了一个简单扁平的第 3 层网络,能够在原生路由或覆盖模式下跨多个集群运行。Cilium 具备第 7 层协议感知能力,并可使用与网络寻址解耦的基于身份的安全模型,在 L3-L7 层执行网络策略。Cilium 实现了 Pod 间及外部服务流量的分布式负载均衡,能够完全替代 kube-proxy,利用 eBPF 中的高效哈希表,支持几乎无限的扩展。它还支持集成入口和出口网关、带宽管理以及服务网格等高级功能,并提供深度的网络和安全可视化及监控能力。

Cilium 的核心是名为 eBPF_ 的 Linux 内核新技术。它支持在诸如网络 I/O、应用程序套接字和跟踪点等各种集成点动态插入 eBPF 字节码,以实现安全、网络和可视化逻辑。eBPF 高效且灵活。如需了解更多关于 eBPF 的信息,请访问 eBPF.io_。

Cilium 网络、可观测性、服务网格与运行时安全功能概览

稳定版本

Cilium 社区为最近三个次版本维护次要稳定版本。在此之前发布的旧稳定版本已停止维护(EOL)。如需升级到新的次版本,请参阅 Cilium 升级指南_。以下是当前维护的发布分支、其最新的补丁版本、对应的镜像拉取标签及其发布说明:

分支版本日期镜像标签发布说明
v1.202026-09-15quay.io/cilium/cilium:v1.20.2[发布说明]
v1.192026-09-15quay.io/cilium/cilium:v1.19.8[发布说明]
v1.182026-09-15quay.io/cilium/cilium:v1.18.14[发布说明]

架构

Cilium 镜像支持 AMD64 和 AArch64 架构。

软件物料清单

从 Cilium 1.13.0 版本开始,所有镜像均包含软件物料清单(SBOM)。SBOM 以 SPDX_ 格式生成。更多相关信息请参见 Cilium SBOM_。

开发版本

为开发和测试目的,Cilium 社区会发布从 主分支_ 构建的快照、早期预发布版(RC)和 CI 容器镜像。这些镜像适用于生产环境。如需测试升级到新的开发版本,请查阅最新的开发版 Cilium 升级指南_。以下是用于测试的分支及其快照或 RC 版本、对应的镜像拉取标签及其发布说明(如适用):

分支版本发布周期镜像标签发布说明
main每日构建quay.io/cilium/cilium-ci:latest
v1.21.0-pre.22026-09-09quay.io/cilium/cilium:v1.21.0-pre.2[发布说明]

功能概览

CNI(容器网络接口)

Cilium 作为 CNI 插件_ 为 Kubernetes 集群提供快速、可扩展且安全的网络层。基于 eBPF 构建,它提供多种部署选项:

  • 覆盖网络:一种基于封装的虚拟网络,覆盖所有主机,支持 VXLAN 和 Geneve。由于只要求主机间具有 IP 连通性(通常已满足),它几乎适用于任何网络基础设施。
  • 原生路由模式:使用 Linux 主机的常规路由表。网络必须能够路由应用程序容器的 IP 地址。可与云路由器、路由守护进程以及 IPv6 原生基础设施集成。
  • 灵活的路由选项:Cilium 可以在常见拓扑中自动进行路由学习和通告,例如在节点共享一个二层域时使用 L2 邻居发现,或在跨三层边界路由时使用 BGP。

每种模式的设计都旨在与现有基础设施实现最大互操作性,同时最大限度地降低运维负担。

负载均衡

Cilium 在应用程序容器之间以及与外部服务之间实现了分布式负载均衡。负载均衡在 eBPF 中使用高效的哈希表实现,能够在大规模下实现高服务密度和低延迟。

  • 东西向负载均衡在套接字层面(connect())重写服务连接,避免了逐个数据包进行 NAT 的开销,并完全 替代 kube-proxy_。
  • 南北向负载均衡支持用于高吞吐量场景的 XDP,以及 第 4 层负载均衡_(包括直接服务器返回 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 查询失败等问题。

入门

  • [为什么选择 Cilium?]_
  • [快速入门]_
  • [架构与概念]_
  • [安装 Cilium]_
  • [常见问题]_
  • [参与贡献]_

社区

Slack

加入 Cilium Slack 频道_ 与 Cilium 开发者及其他用户交流。这是了解 Cilium、提问和分享经验的好地方。

特别兴趣小组(SIG)

请参阅 特别兴趣小组_ 获取所有 SIG 列表及其会议时间。

开发者会议

Cilium 开发者社区在 Zoom 上交流。欢迎所有人参加。

  • 每周,周三下午 5:00 欧洲/苏黎世时间(CET/CEST),通常相当于太平洋时间上午 8:00 或美国东部时间上午 11:00。[会议记录与 Zoom 信息]
  • 每月第三个周三,下午 1:30 日本时间(JST)。[亚太区会议记录与 Zoom 信息]

eBPF & Cilium Office Hours 直播

我们每周举办一次名为 eCHO 的社区 YouTube 直播,eCHO 是 eBPF & Cilium Office Hours 的缩写(非常宽松地!)。加入我们的直播,观看往期节目,或前往 eCHO 仓库 告诉我们您希望涵盖的主题想法。

治理

Cilium 项目由一组 维护者和提交者_ 管理。他们的选择和管理方式在我们的 治理文档_ 中有概述。

采用者

可以在 USERS.md_ 文件中找到将 Cilium 项目部署在生产环境中的采用者列表及其用例。

许可证

[Cilium 许可证]_ [BPF 许可证 (BSD-2-Clause)]_ [BPF 许可证 (GPL-2.0)]_

Cilium 的用户空间组件根据 Apache 许可证 2.0 版_ 授权。BPF 代码模板采用双重许可,基于 GNU 通用公共许可证 2.0 版(仅限此版本)_ 和 BSD 2-Clause 许可证_(您可以自行选择适用任一许可证的条款)。

相似文章

Hulios:基于eBPF的透明Tor网关(Linux)

Hacker News Top

Hulios 是一个基于 eBPF 的透明 Tor VPN 网关,适用于 Linux。它通过嵌入式 Arti Tor 客户端和基于 Hickory 的 DNS 解析器重定向 TCP 和 DNS 流量,从而保护出站流量,并具备内核级泄漏防护。

Nimbus

Product Hunt

Nimbus 是一款智能代理浏览器,利用 Claude Code UX 增强编程和浏览体验。

Cewsco

Product Hunt

Cewsco 是一款全能AI助手,提供聊天、图像生成、语音功能以及市场数据。

Caw

Product Hunt

Caw是一个为AI代理设计的开源网页终端复用器。