跳过正文
Cilium 十年:社区规模、调研信号与 1.19 技术脉络
  1. 文章/

Cilium 十年:社区规模、调研信号与 1.19 技术脉络

·2904 字·6 分钟
NeatGuyCoding
作者
NeatGuyCoding

Cilium 十年:社区规模、调研信号与 1.19 技术脉络
#

本集值得保留什么
#

这不是功能发布会,而是一场创始人圆桌 + 社区调研揭晓 + AMA。若你关心 Cilium 为何从 2015 年一个 .gitignore 起步走到今日 CNCF 头部项目,或想对照口述路线图已发布的 1.19 文档,这集仍有归档价值:屏上的里程碑数字、LinkedIn 调研 Top 答案、以及 Daniel Borkmann 对 Big TCP / BBR 与 Thomas Graf 对 ztunnel、L7、2.0 的表述,适合作为「社区叙事」与「官方文档」交叉阅读的入口。穿插的 NGINX 策略 typo、用 Quake 3 测 NodePort 等轶事无法独立核验,但有助于理解维护者如何看数据平面演进。本场无现场终端演示;下文命令来自官方文档,可在自己集群复现。


十年刻度:从首 commit 到 CNCF 体量
#

2015 年 12 月 16 日,Thomas Graf 在 GitHub 上提交 Cilium 初始 commit(7fa3c60,变更含 .gitignoreLICENSE)。CNCF 项目页记载 Cilium 于 2021-10-13 以 Incubating 项目纳入,2023-10-11 毕业。

节目中屏显里程碑(时点快照,非实时 API)包括:1000+ 贡献者(幻灯片曾显示 1,012)、CNCF 按总贡献量排名第二、45k+ GitHub stars、加入 CNCF 后总贡献 546,000+(较 2021 年增 142%)、全仓库 50,000+ PR、贡献者遍布 82 国。主持 Liz Rice 亦提醒部分数字可能已过时——与 GitHub star、贡献者口径随时间漂移一致;撰写引用宜注明统计日期。「CNCF 贡献第二」「546k/82 国/50k PR」等未在本次独立导出 DevStats 报表中复核,若需严谨引用请查 Cilium DevStats

图:幻灯片 Milestones — 首 commit 2015 年 12 月、1000+ contributors、CNCF 贡献量第二、45k+ GitHub stars(屏上文字)。

图:幻灯片 Milestones (cont’d) — Total Contributions 546,000+、Total PRs 50,000+、Global Reach 82 countries(屏上文字)。

资源


社区调研在说什么(竞猜结果,非官方采用率)
#

节目用「Survey says…」形式揭晓事先在 LinkedIn/社交媒体收集的答案。下列排名属社区调研宣读,不可写成官方产品统计或采用率。

问题屏上揭晓的 Top 方向
用 Cilium 替换过什么其他 CNI → kube-proxy → Service mesh / Ingress
生产中最常用特性Networking(泛化 CNI)→ Network policy → Hubble UI → kube-proxy replacement
解决的「最大问题」Network policies that work → Observability → Performance → Service mesh complexity
如何首次听说Blog/article → Conference → … → YouTube and eCHO

企业名猜题中屏显 Adobe、Microsoft、OpenAIUSERS.md 可核对自述用户(含 Adobe、Microsoft 等),OpenAI 未出现在该列表(截至公开 USERS.md)。轶事层面,创始人提到用 Cilium 替换 Calico、kube-proxy、Ingress、独立 Service mesh 等——与调研方向一致,但仍属演讲者/社区叙述

图:Survey says — Network policies that work、Observability/visibility、Performance issues、Service mesh complexity(屏上文字)。

资源


Big TCP、eBPF 路径与 1.19 已落地项
#

AMA 中 @eBPFCilium 提问 Big TCP 里 eBPF 的角色;Daniel Borkmann 解释:Big TCP 依赖内核聚合更大报文;若流量仍走传统 host 栈,socket 关联可能被「孤立」,TCP 背压失效——需 eBPF Host-Routing 等路径才能拿到文档所述的性能收益。他口述 Cilium 侧报文规模约 256K;当前 stable 文档写 GSO/GRO 上限为 192k,正文应以文档为准,256K 记为口述、未与文档对齐

Cilium 1.19(口述「约 2 月初」)已与 v1.19.0 发布2026-02-04)对齐,要点包括:Ztunnel Beta、Gateway API 改进、Helm chart 经 OCI 发布。口述「增强 mutual TLS」在发布说明中对应 ztunnel 新路径;旧 Mutual Authentication 默认关闭,迁移时需读 release note,不宜简单理解为「旧 SPIRE 流加强版」。

图:观众提问 — Big TCP 中 eBPF 扮演什么角色、用到哪些 eBPF program(聊天区文字)。

启用 Big TCP 与 Host-Routing 时,文档要求(Cilium 1.19.x stable)内核:IPv6 BIG TCP ≥ 5.19IPv4 BIG TCP ≥ 6.3

# Helm 示例(摘自性能调优文档思路;按环境改 values)
helm upgrade cilium oci://quay.io/cilium/charts/cilium \
  --namespace kube-system \
  --reuse-values \
  --set kubeProxyReplacement=true \
  --set bpf.masquerade=true \
  --set routingMode=native \
  --set enableIPv4BIGTCP=true \
  --set enableIPv6BIGTCP=true

kubectl -n kube-system exec ds/cilium -- cilium-dbg status
# 关注 Host Routing: BPF、IPv4/IPv6 BIG TCP: enabled 等行

资源


ztunnel、加密与 IPv6 设计史
#

Thomas Graf 描述 ztunnelencryption.type=ztunnel):节点侧透明 L4 mTLS,控制面由 agent 与本地 ztunnel 协作;不宜在同一集群混用 Cilium ztunnel 节点与 Istio Ambient ztunnel 节点——工程判断,公开文档未逐字写「禁止混用」,但 Istio 集成 强调避免冲突配置。重要冲突:他提到通过 Cluster Mesh 传播 ztunnel 身份;而 ztunnel 文档 写明 Cluster Mesh 与 ztunnel 不兼容(安装前勿启用 Cluster Mesh)。正文若以文档操作为准,应视为互斥。

helm install cilium oci://quay.io/cilium/charts/cilium \
  --namespace kube-system \
  --set encryption.enabled=true \
  --set encryption.type=ztunnel

kubectl label namespace <your-ns> io.cilium/mtls-enabled=true

IPv6 方面,演讲者观点:早期版本曾偏 IPv6-only(容器规模与地址规划动机),后因用户压力强化 IPv4;「用 IPv6 寻址内存」更像愿景,Daniel Borkmann 称今日更常见 DMA 等路径,无已知生产级「IPv6 寻址内存」方案可核验

资源


BBR、BGP 与实现选型
#

BBR:Daniel 提到修复 pod→host 路径上 TCP 时间戳丢失问题;Bandwidth Manager 记载旧内核在 netns 切换时的同类问题,并写明需 eBPF Host-RoutingbandwidthManager.bbr=true。KubeCon 上 Cubic vs BBR 流媒体对比属演示轶事

kubectl -n kube-system exec ds/cilium -- cilium-dbg status | grep -i bandwidth

BGP:聊天区 Tony Norlin 描述——Cilium BGP 使 CNI VXLAN 外组件(如外部 k8s control plane)可通信;BGP Control Plane 支持向路由器通告 Pod/Service 路由,具体拓扑为用户场景、本场无 demo

# Helm values 片段
bgpControlPlane:
  enabled: true

Go:Thomas、André 解释当年 K8s 生态客户端以 Go 为主、内核开发者上手快;agent 内存占用难精细控制、早期 CI 用 bash——均为演讲者观点

资源


L7 能力边界与「2.0」何时出现
#

Thomas Graf 区分两条线:开源 L7 网络策略经节点侧 Envoy 代理(见 Layer 7 Policies);Isovalent Enterprise 的 eBPF L7 解析器(HTTP/DNS 等被动可观测、低开销)不能替代完整 proxy(无 retry、L7 LB 等需终止/流控的能力)——Enterprise 产品线在 docs.cilium.io 无与「L7 eBPF parser」逐字对应的开源页,功能边界标演讲者观点。数据平面成熟度(如超大规模才触发的 race)亦为维护者经验,无独立 CVE 条目。

关于 Cilium 2.0无时间表;动机包括长期「无缝升级」累积的技术债、以及 Kubernetes 用于虚拟化的新需求;不会为营销单独打 2.0/10.0——演讲者观点。若你跟进特性,Liz 预告后续 eCHO 可能有 1.19 特性专场与云原生展望,属节目安排而非发布承诺。

资源


未核验边界(阅读时留意)
#

  • 社区调研全部排名、屏显企业名单与真实采用率
  • P02 中 546k 贡献、82 国、50k PR、CNCF「第二」的精确口径
  • Big TCP 256K vs 文档 192k;ztunnel + Cluster Mesh 口述 vs 文档互斥
  • Enterprise L7 eBPF parser、Cilium 2.0 时间与动机、Quake3/Datadog/Android 等轶事
  • IPv6-only 首发完整时间线

若你只关心可动手验证的路径:OCI 装 1.19 → cilium-dbg status 看 Host Routing / BIG TCP / BandwidthManager → 按需启用 ztunnel 或 BGP,并对照上表区分「文档」与「本场口述」即可。

相关文章