土法炼钢 · 系统与基础设施

Cilium / eBPF 数据面内核:从 Identity 到包路径

文章导航

分类入口
kubernetesnetwork
标签入口
#cilium#ebpf#identity#kube-proxy#hubble#networkpolicy#clustermesh#v1.20.0

目录

站内 Cilium 深度拆解 已讲清产品能力与 Identity 叙事;eBPF 内核实现 拆透 verifier/JIT/Map;Envoy / HAProxy 终章把「只要 L3/L4 与身份」指到 eBPF。中间仍缺一层:一次东西向包如何经 endpoint/identity 与 BPF map,kube-proxy 替代相对 iptables 差在哪,Hubble 字段对应哪一层,以及相对 Calico / sidecar / Ambient 何时不该上 Cilium。

本系列回答:Cilium eBPF 数据面里延迟与失败落在哪一层,何时内核路径的税不值得付。

写:

不写:Helm 百科、verifier/JIT 重讲、完整 Istio/Ambient 重写、未实测延迟排行、Hubble UI 点击教程。对照单篇见 k8s-network/13;eBPF VM 见 ebpf/;用户态 L7 见 envoy/

系列状态:01–16 已发布(2026-08-16)。 规划见 PLAN.md。无真实 Cilium 集群则不粘贴伪造 cilium status / Hubble flow 输出。

版本锚定:Cilium v1.20.0docs.cilium.io/en/v1.20/;源码 tag v1.20.0)。嵌入 Envoy / Gateway API 随该发行说明;Tentacle 式第三方升版须显式标注。

适合谁看

与已有系列的分工

维度 k8s-network/13 / ebpf/ 本系列
定位 产品概览 / eBPF VM 内核 Cilium 数据面路径与失败模式
深度 能力表、verifier/JIT Identity→map→hook、Service/策略状态机、排障轴
对照 略述 kube-proxy 替代 显式外链代理系列排除树;不重写 Filter/xDS

读法:只要「Cilium 大概怎么替代 iptables」→ 13 足够;要「包卡在哪张 map、identity 漂移为何偶发拒绝」→ 本系列 01 → 02 → 05 → 06 → 07 → 13。

一、这个领域最值得关注的 5 个问题

  1. 一次东西向包的失败落在哪一层? → 第 1–5、7、13 篇。
  2. Identity 相对 IP 策略消除了什么;标签变更窗口如何表现? → 第 2、7、13 篇。
  3. kube-proxy 替代后 ClusterIP/NodePort 走哪条 BPF 路径? → 第 5–6 篇。
  4. Hubble / metrics 字段对应哪一层;何时全绿仍丢包? → 第 8、12–13 篇。
  5. 何时选 Cilium,而非 Calico / sidecar / Ambient? → 第 10、14–16 篇。

二、篇目依赖关系与推荐阅读路径

flowchart TD
  overview["01 Overview"] --> id["02 Endpoint Identity"]
  id --> attach["03 BPF Attach"]
  attach --> maps["04 BPF Maps"]
  maps --> path["05 East West Path"]
  path --> kpr["06 Kube Proxy Replace"]
  id --> policy["07 Policy Compile"]
  path --> policy
  policy --> hubble["08 Hubble"]
  path --> enc["09 Encryption"]
  kpr --> mesh["10 L7 Mesh Boundary"]
  id --> cm["11 ClusterMesh"]
  hubble --> obs["12 Observability"]
  obs --> trouble["13 Troubleshoot"]
  trouble --> vs["14 vs Alternatives"]
  mesh --> gw["15 Gateway Boundary"]
  vs --> select["16 Selection"]
  gw --> select
  overview --> select
路径 篇目 适合
必读核心 1 → 2 → 5 → 6 → 7 → 13 快速建立坐标系
Map 与挂载 3 → 4 → 5 BPF 原语在 Cilium 中的用法
可观测 8 → 12 → 13 Hubble / 排障
对照选型 1 → 14 → 16 路径选型
完整通读 1 → … → 16 系统掌握

三、目录与每篇价值点

第一部分:模型与包路径(01–05)

  1. 数据面全景
    • 相对 k8s-network/ebpf/代理系列的缺口;坐标系与 16 篇路线。
  2. Endpoint 与 Identity
    • 数字身份、标签选择、生命周期。
  3. BPF 挂载与程序生命周期
    • TC/XDP/cgroup 在 Cilium 中的角色;加载/替换。
  4. 关键 BPF Map
    • policy、service、CT 等职责与失败表象。
  5. 东西向包路径
    • Pod→Pod 停顿点;与 netfilter 旁路关系。

第二部分:Service、策略与扩展面(06–11)

  1. kube-proxy 替代
    • ClusterIP/NodePort/外部流量;相对 iptables/IPVS。
  2. 策略编译
    • NetworkPolicy / CiliumNetworkPolicy → BPF。
  3. Hubble 信号
    • flow 字段语义;与 metrics 分工。
  4. 透明加密
    • WireGuard / IPsec 路径税与失败模式。
  5. L7 与 Mesh 边界
    • 可选 Envoy;相对 sidecar / Ambient。
  6. ClusterMesh
    • 多集群身份与服务发现边界。

第三部分:观测、排障与收束(12–16)

  1. 可观测与运维口径
    • cilium status、metrics、bpftool 边界。
  2. 排障坐标系
    • 丢包、policy deny、identity 漂移、Service 黑洞。
  3. 对照替代路径
    • Calico、kube-proxy、Envoy sidecar、Ambient。
  4. Gateway / 南北向边界
    • Cilium Gateway 与东西向焦点的分工。
  5. 选型收束与开放问题
    • 排除树;回收代理系列 eBPF 叶。

四、延伸阅读

读完这篇,下一步读什么

优先读同系列或同问题的下一篇,把单篇消费变成主题集群。


By .