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

【Falco】运维与升级:0.43→0.44 成对换驱动

文章导航

分类入口
kubernetessecurity
标签入口
#falco#upgrade#breaking-change#api-schema#drivers#grpc#legacy-ebpf#v0.44.1

目录

第 11 篇 谈成本归因。本篇谈版本门:为何「只 bump 用户态 chart」会在 0.43→0.44 变成无事件或启动失败,以及 0.44.1 相对 0.44.0 补了哪一扇容器可用性门。

官方 blog Introducing Falco 0.44.0(2026-05-26)写明:驱动 API 与 Schema 大 bump;随 0.43.0 发布的 kmod / modern_ebpf 与 0.44.0 用户态不兼容,升级必须 redeploy 匹配驱动(本系列钉 10.2.0+driver)。这不是可选项。

本篇在系列中的位置

篇目 核心内容
第 11 篇 · 观测税 成本与噪声
第 12 篇 · 运维与升级 破坏性变更与成对升级
第 13 篇 · 排障坐标系 五轴否证
系列目录 全部篇目

版本锚定:目标态 Falco 0.44.1(2026-06-11)。破坏性删除以 0.44.0 Changelog / blog 为准;0.44.1 主补丁为 可禁用 BPF iterators(libs 0.25.4)。无集群则不写「升级成功」叙事,只给否证检查单。


一、破坏性变更:legacy eBPF / gVisor / gRPC output

0.44.0 完成自 0.42/0.43 起的弃用周期,整栈删除

已删除项 旧配置线索 迁移方向(0.44.1)
Legacy eBPF probe engine.kind=ebpf / engine.ebpf;Helm 旧 driver.kind=ebpf modern_ebpfkmod
gVisor engine engine.kind=gvisor / engine.gvisor 换监控路径;不得再当 Falco 引擎
gRPC output gRPC server grpc_output / grpc 顶层块 HTTP output 或 Falcosidekick 等仍存在的 sink

blog 与 chart BREAKING-CHANGES 一致:若环境仍残留上述键,Falco 可能在启动期直接失败。旧 runbook 里的 --set driver.kind=ebpf 禁止写入 0.44.1 操作手册。


二、API / Schema bump

断言 来源 运维含义
0.43 驱动 与 0.44 用户态 不兼容 0.44.0 blog / Release Notes 必须成对换驱动到 10.2.0+driver
错配表象 Kernel Events Architecture + 本系列第 3 篇 启动失败或无原始事件,易被误判为规则错误
协商对象 API Version(通信)+ Schema Version(事件类型集) 只升一边 = 轴 2 必然否证失败

「chart 已经是 0.44.x,节点上还挂着 0.43 构建的 .ko / 旧 probe」是经典事故。Helm 滚动若未重启 loader / 未换 falco-driver-loader 镜像标签,用户态与驱动会短暂或长期分叉。


三、规则与 plugin 兼容

0.44.0 同时带来规则语言增强(如比较运算符的 oneof / anyof / allof)与更严的规则 schema 校验;随发行说明钉过配套 falco-rulescontainer 等 plugin 版本。升级检查不只看 Falco 二进制:

组件 升级时核对
规则文件 / falcoctl artifact 是否通过新 schema;是否误用仅新版本支持的语法却钉在旧规则集
plugin(container、k8smeta 等) 与 0.44.1 兼容的版本;元数据空会导致轴 3「条件永远假」
下游 sink 是否仍指向已删的 gRPC;HTTP/file/stdout 是否可达

规则「能加载」≠「字段有值」。plugin 与规则仓库协作边界见第 9、15 篇;本篇只要求升级窗口内版本矩阵写进变更单


四、升级检查单(否证表)

# 检查项 通过标准 失败落轴
1 配置清除已删键 engine.ebpf / gVisor / grpc_output/grpc 启动失败(部署/配置)
2 用户态版本 进程为 0.44.1(或明确的 0.44.x 目标)
3 驱动版本 10.2.0+driver 与用户态匹配 2
4 driver.kind {auto, modern_ebpf, kmod};无 ebpf 1
5 实际引擎 事故节点 Driver 行与预期一致;auto 分列记录 1
6 原始事件 有 scap 流(语义上可核对;无环境不伪造) 2
7 规则与 plugin 加载成功;关键字段非空 3–4
8 输出 非 gRPC;下游收到测试告警 5
9 容器 iterators 若现代 eBPF 在容器 PID 场景出问题:评估 disable_iterators(0.44.1) 5

0.44.1 相对 0.44.0:增加禁用 BPF iterators 的支持,并修复相关问题(bump libs)。默认仍可用 iterators 做启动态与 drop 后恢复;在非 host PID 命名空间时文档写明会自动禁用。把 0.44.0 容器坑写成「0.44 全系无解」不符合 0.44.1 事实。


五、live 文档 vs tag

来源 用法
源码 tag 0.44.1、配套 libs/drivers、该版本 falco.yaml 机制结论唯一锚
0.44.0 blog / Changelog 破坏性变更与成对升级的 A/B 级叙述
falco.org/docs/ /latest 线索;后版本能力禁止写成 0.44.1 事实
第三方「一键升级」帖 C 级;不单独支撑

值班口诀:变更单写 tag,不写 “docs 今天看到的新键”。 下一篇把升级失败与日常无告警一并收进五轴否证。


参考资料

规范 / 官方文档(A/B)

本系列


上一篇观测税与误报面

下一篇排障坐标系

读完这篇,下一步读什么

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

2026-08-21 · kubernetes / security

【Falco】libscap:捕获会话与 API/Schema 协商

钉清 libscap 如何把驱动事件送入用户态:打开会话、ring/缓冲、API Version 与 Schema Version 协商,以及与 modern_ebpf / kmod 的接口差;说明 0.43→0.44 大 bump 的失败表象。

2026-08-21 · kubernetes / security

【Falco】双引擎对照:modern_ebpf 与 kmod 等级路径

钉清 Falco 0.44.1 仅保留的两条等级内核路径:modern_ebpf 的嵌入、CO-RE 与能力集,以及 kmod 的独立 .ko、签名与完整特权;说明何时不能互换,并把 auto 回退收束为运维门。

2026-08-21 · kubernetes / security

【Falco】libsinsp:状态富化与用户态进程树

钉清 libsinsp 如何用机器状态、线程/FD 表与用户态进程树富化 scap 事件;对照 Tetragon exec_id 的内核血缘差,并列出富化失败时规则条件「永远假」的表象。


By .