Cilium 1.20 has been released with broader Kubernetes Gateway API support, an extensible eBPF datapath and further work on sidecarless mutual TLS. The release also makes the newer netkit network...
文章介绍用eBPF测量WebRTC SFU的UDP数据包在内核socket队列中的停留时间,以区分服务器延迟与网络抖动。getStats()只能反映抖动、丢包等聚合指标,无法定位原因。通过挂接内核探针记录入队与读取时间戳,可亚微秒级判断服务器是否因负载导致数据包排队,从而在质量劣化前定位问题。
AWS Lambda 为高密度微虚拟机环境重建网络流量日志系统。旧方案依赖 iptables 规则,随虚拟机增多性能骤降且不支持 IPv6。新系统用 eBPF 在内核捕获数据包,Rust 编写用户态聚合程序,每租户独立环形缓冲区,通过文件描述符传递实现权限隔离,输出格式与旧系统完全兼容,实现零下游迁移。
> 本文是写作规划,不是可发布正文。拆解对象:Tetragon 在 Linux / Kubernetes 上的 eBPF 运行时安全可观测与强制执行内核——以 Tetragon v1.7.0(2026-04-29;源码 tag v1.7.0)为主线,把一次安全相关事件从 process 血缘与 hook,经 Traci…
Dan Finneran discusses the risks of unowned AI-generated code in production and demonstrates how eBPF can intercept and control AI API traffic in Kubernetes. He explains how kernel-level socket...
Falco 0.44.1 仅支持 modern_ebpf 与 kmod 双引擎,legacy eBPF 已删除。modern_ebpf 需 BTF 与 ringbuf,可最小权限运行;kmod 需完整特权,适合旧内核或禁 BPF 环境。auto 仅是运维选择器,非第三引擎。排障须按实际加载引擎分列证据,避免误判。
> 本文是写作规划,不是可发布正文。拆解对象:Cilium 在 Kubernetes 上的 eBPF 数据面内核——以 Cilium v1.20.0(2026-07;docs.cilium.io/en/v1.20/ / stable)为主线,把一次东西向包从 endpoint / identity,经 BPF 挂载点与…
本文介绍Tetragon v1.7.0的eBPF运行时安全机制,聚焦进程血缘、Sensor/Hook、策略加载、过滤分层和强制执行五轴坐标系,并阐述exec_id、execve_map等关键概念。文章旨在补齐Cilium数据面与可观测性之间的安全内核层,提供排障指南,并规划16篇系列文章路线,强调可核对锚点与失败模式分析。
本文介绍Tetragon v1.7.0的进程血缘模型。exec_id由节点名、ktime和PID组成,解决PID复用问题,但不消除内核execve_map未命中。内核map按TGID保存权威状态,用户态cache按exec_id服务导出。in_init_tree标记容器PID 1子树,区分kubectl exec注入。procFS是启动回填标志。父进程不在map时,fork子进程不会入图,这是血缘缺口的关键失败路径。
本文介绍Tetragon v1.7.0的Sensor与Hook机制。核心是`__base__`传感器负责进程生命周期(exec/clone/exit)并维护execve_map,TracingPolicy则按类型另挂kprobe、tracepoint、uprobe、LSM和fentry程序。选错Hook类型会导致无事件、参数错误或TOCTOU问题。LSM需CONFIG_BPF_LSM支持,fentry不支持enforcement。
Tetragon v1.7.0事件导出支持JSON文件、gRPC和管道三种路径。allow/deny过滤仅作用于JSON文件,不影响gRPC;field filter按客户端裁剪字段,redaction在进程缓存中修改参数。默认JSON路径为/var/run/cilium/tetragon/tetragon.log。排障时需区分各sink的过滤差异。
本文介绍Tetragon v1.7.0中策略加载与Sensor/Hook轴的关键问题:BTF发现失败会导致程序挂不上,需检查内核vmlinux路径;DaemonSet与主机安装共用agent,但依赖host网络和BPF能力;v1.7.0默认gRPC改用Unix socket,裸二进制仍为TCP;kubectl、gRPC、静态文件三条加载路径共用collectionKey映射,撞名时优先排查路径而非选择器YAML。
本文介绍Tetragon v1.7.0的TracingPolicy机制:集群级与命名空间级策略差异、spec字段(含fentries)、三条加载路径共享collectionKey导致同名冲突,以及list/enable/disable语义。v1.7.0中Enable/Disable gRPC默认报错,需用ConfigureTracingPolicy替代。排障时先list确认来源,再删除对侧路径。
本文介绍Tetragon v1.7.0的TracingPolicy选择器与动作机制。选择器内过滤器为AND关系,每个hook最多5个选择器,多个选择器采用first-match短路逻辑,默认动作为Post。matchArgs、matchBinaries等过滤器按路径或参数匹配,NoPost抑制事件但保留其他动作,Override和Sigkill在内核执行,GetUrl等动作在用户态执行。CEL-in-BPF有宏限制,最多8路表达式。
本文介绍Tetragon v1.7.0中TracingPolicy的选择器与内核过滤机制。TracingPolicyNamespaced仅作用于特定命名空间的Pod,podSelector和containerSelector分层匹配工作负载,hostSelector仅支持null或空值。无OCI hook时依赖API server可能产生竞态窗口。policyfilter默认在裸二进制关闭、Helm开启,关闭时需过滤的策略会加载失败而非静默全匹配。
本文介绍Tetragon v1.7.0中文件、网络、能力三类观测的hook选择与参数类型。文件观测推荐LSM security_* hook配合file类型,避免syscall的TOCTOU问题;网络观测需区分sock、sockaddr等类型,tcp_connect仅覆盖TCP;能力观测用commit_creds+cred,但不翻译user namespace。选错hook或类型会导致事件缺失,如6.2内核truncate符号变化可能使整份策略加载失败。
Tetragon v1.7.0中,强制执行需结合Override与SIGKILL:Override使函数不执行并返回argError,依赖CONFIG_BPF_KPROBE_OVERRIDE;SIGKILL终止进程但不保证无副作用。策略模式monitor会省略强制执行,运行时set-mode优先级最高。TOCTOU窗口可通过LSM/inline动作缩小,但无法消除SIGKILL副作用。
本文讨论Tetragon v1.7.0中事件可能丢失的三层原因:cgroup-rate按CPU节流仅限EXEC/EXIT事件,超限时暂停投递并发出THROTTLE信号;Post.rateLimit按线程和参数前40字节抑制重复事件;环缓冲压力导致事件丢失。需区分这些机制,避免误判为策略未匹配。
Tetragon v1.7.0升级后,merge指标合并为带status标签的单一计数器,gRPC默认地址改为Unix socket。运维需更新告警表达式和客户端连接,注意JSON文件导出与gRPC流所见集合不同,SIEM仅能获取文件sink内容。排查事件缺失时,应区分merge配对、ringbuf丢失和导出计数三层问题。
本文介绍Tetragon v1.7.0排障方法,按五轴归因:进程血缘、Sensor/Hook、策略加载、过滤分层、强制执行。常见问题包括:策略已应用但无事件(检查BTF和hook)、同名策略冲突(collectionKey撞名)、denylist不影响gRPC、Override需CONFIG_BPF_KPROBE_OVERRIDE。强调先定位问题轴,再针对性排查,避免盲目重装或修改配置。
完成下面两步后,将自动完成登录并继续当前操作。