cilium/operator-genericCilium 是一款开源软件,用于为应用工作负载(如容器或进程)提供网络连接、负载均衡,并透明地保障其安全性。它同时在网络层(L3/4)提供传统网络与安全服务,在应用层(L7)保护 HTTP、gRPC、Kafka 等现代协议。Cilium 已集成 Kubernetes、Mesos 等主流编排框架,其核心基于 Linux 内核新技术 eBPF,可动态将 eBPF 字节码插入内核的网络 IO、应用 socket、跟踪点等位置,实现高效灵活的安全、网络与可观测性逻辑。了解更多 eBPF 信息可访问 eBPF.io。
Cilium 社区会为最近三个主要版本维护次要稳定版,更早版本视为 EOL(生命周期结束)。升级至新版本可参考 Cilium 升级指南。以下是当前维护的版本信息:
| 版本分支 | 发布日期 | 镜像拉取标签 | 发布说明 | 版本公告 |
|---|---|---|---|---|
| v1.8 | 2020-09-30 | docker.io/cilium/cilium:v1.8.4 | Release Notes | 发布公告 |
| v1.7 | 2020-09-30 | docker.io/cilium/cilium:v1.7.10 | Release Notes | 发布公告 |
| v1.6 | 2020-09-30 | docker.io/cilium/cilium:v1.6.12 | Release Notes | 发布公告 |
传统防火墙仅基于 L3/4 端口过滤,Cilium 可深入 L7 协议层,按请求细节控制流量,例如:
GET /public/.* 请求,拒绝其他方法或路径;service1 生产、service2 消费 topic1,拦截其他消息;X-Token: [0-9]+。现代分布式应用依赖容器快速扩缩容,传统基于 IP+端口的防火墙需频繁更新规则,难以扩展。Cilium 为具有相同安全策略的容器组分配“安全身份”,并将身份关联到网络包,接收端可直接验证身份(无需依赖 IP)。身份管理通过键值存储实现,避免跨主机规则同步。
集群内访问控制推荐基于标签的策略,对外服务则支持传统 CIDR 规则(入站/出站),可限制容器仅能访问特定 IP 范围。
Cilium 采用扁平化 L3 网络,支持跨集群通信,IP 分配通过主机本地分配器实现(无需主机间协调)。支持两种多节点网络模式:
Overlay 模式:基于封装的虚拟网络(默认 VXLAN/Geneve,支持所有 Linux 封装格式)。
适用场景:基础设施要求低,仅需主机间 IP 连通(多数环境已满足),兼容性强。
原生路由模式:使用 Linux 主机路由表,需底层网络能路由容器 IP。
适用场景:高级用户,需网络支持容器 IP 路由,如 IPv6 网络、云路由器环境或已部署路由守护进程的场景。
Cilium 基于 eBPF 实现分布式负载均衡,可替代 kube-proxy 等组件,通过高效哈希表支持大规模扩展:
通过 eBPF 实现基于 EDT(最早 departure 时间)的速率限制,用于容器出流量控制。相比传统 HTB/TBF 方法,可显著降低传输尾延迟,避免多队列网卡下的锁竞争。
提供超越传统 tcpdump/ping 的工具链,包括:
Cilium 核心依赖 Linux eBPF 技术。eBPF 是内核字节码解释器,支持动态插入程序到内核(如网络 IO、跟踪点),通过 LLVM 编译 C 代码生成 eBPF 字节码,内核验证器确保安全性,JIT 编译提升执行效率。Cilium 要求 Linux 内核 ≥ 4.8.0(推荐 ≥ 4.9.x)。
XDP 是 eBPF 的扩展,允许在网络驱动直接访问 DMA 缓冲区时运行 eBPF 程序,是内核网络数据路径中最早的可编程处理点,性能极高。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务