0

0

Linux calico 的 Felix 日志级别与 BPF dataplane 启用条件

舞夢輝影

舞夢輝影

发布时间:2026-02-19 08:53:16

|

574人浏览过

|

来源于php中文网

原创

felix 日志级别通过 logseverityscreen 字段修改,取值为 emergency/alert/critical/error/warning/notice/info/debug(大小写敏感),需更新 felix 配置文件(如 configmap 中的 felixconfiguration)并重启 calico-node 容器;bpf 模式下 debug 级别会高频输出 bpf: 前缀日志,属正常行为。

linux calico 的 felix 日志级别与 bpf dataplane 启用条件

如何修改 Felix 的日志级别(logSeverityScreen

Felix 默认日志级别是 Info,但 BPF 模式下高频事件(如连接跟踪更新、策略匹配)会大量刷屏,实际调试时往往需要调高到 Debug 或压低到 Warning。修改必须通过 Felix 配置文件(通常是 /etc/calico/felix.cfg 或 ConfigMap 中的 felixConfiguration 资源),不能靠重启容器时传参覆盖。

  • logSeverityScreen 是唯一控制终端输出级别的字段,取值为 Emergency/Alert/Critical/Error/Warning/Notice/Info/Debug(注意大小写敏感)
  • 改完后必须重启 calico-node 容器,仅 reload 不生效;用 kubectl rollout restart daemonset/calico-node 最稳妥
  • 如果启用了 BPF dataplane,Debug 级别下会频繁打印 bpf: map lookup failed 类日志——这不是错误,是 BPF 程序主动跳过非本机流量的正常行为,别误判为故障

BPF dataplane 启用的三个硬性前提

Calico 3.22+ 的 BPF 模式不是开关一开就跑,它依赖底层内核能力、CNI 配置和 Felix 自身状态三者同时满足,缺一不可。

  • 内核版本 ≥ 5.8(推荐 ≥ 5.10),且需启用 CONFIG_BPF_JITCONFIG_CGROUP_BPF;用 zcat /proc/config.gz | grep -E "(BPF_JIT|CGROUP_BPF)" 快速验证
  • Felix 配置中 bpfEnabled: true 必须显式设置,且 dataplaneDriver: "bpf"(旧版叫 bpfLogLevel,已废弃)
  • CNI 配置(/etc/cni/net.d/10-calico.conflist)里 "type": "calico""mode" 字段必须为 "bird""none",不能是 "ipam" 单独存在;BPF 模式不兼容纯 IPAM 插件

为什么 bpfLogLevel 不再起作用

Calico 3.20 起彻底移除了 bpfLogLevel 配置项,所有 BPF 相关日志统一由 logSeverityScreen 控制。继续在配置里写它不会报错,但会被 Felix 忽略——你看到的日志量没变,不是配置没生效,而是这个字段本身已失效。

NewsBang
NewsBang

盛大旗下AI团队推出的智能新闻阅读App

下载
  • 旧文档或迁移脚本里残留的 bpfLogLevel: "Debug" 建议直接删掉,避免误导
  • BPF 程序内部调试信息(如 map 更新细节)只在 logSeverityScreen: Debug 下输出,且前缀固定为 bpf:,搜索日志时认准这个前缀比翻配置更可靠
  • 线上环境慎用 Debug:BPF map 操作每秒可达数千次,日志写入可能拖慢节点,尤其在高连接数场景下

验证 BPF dataplane 是否真正在运行

光看 Felix 启动日志说 Starting BPF dataplane 不够,得确认 eBPF 程序已加载且接管流量。

  • 执行 bpftool prog list | grep calico,应看到至少 calico_ingresscalico_egress 两个程序,状态为 running
  • 检查 calico-node 容器内是否有 /sys/fs/bpf/tc/globals/ 目录,且里面包含 calico_policy_map 等 map 文件
  • tc filter show dev cali+ 查看是否挂载了 bpf 类型的 tc 过滤器;若显示 u32 或空,说明仍在 iptables 模式

BPF 模式下最易被忽略的是 cgroup v2 强依赖——如果节点启用了 cgroup v1(systemd.unified_cgroup_hierarchy=0),即使其他条件全满足,BPF dataplane 也会静默退回到 iptables 模式,且 Felix 日志里几乎不提示这点。

相关文章

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

371

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

339

2023.10.25

golang map内存释放
golang map内存释放

本专题整合了golang map内存相关教程,阅读专题下面的文章了解更多相关内容。

77

2025.09.05

golang map相关教程
golang map相关教程

本专题整合了golang map相关教程,阅读专题下面的文章了解更多详细内容。

36

2025.11.16

golang map原理
golang map原理

本专题整合了golang map相关内容,阅读专题下面的文章了解更多详细内容。

67

2025.11.17

java判断map相关教程
java判断map相关教程

本专题整合了java判断map相关教程,阅读专题下面的文章了解更多详细内容。

46

2025.11.27

alert怎么实现换行
alert怎么实现换行

alert通过使用br标签来实现换行。更多关于alert相关的问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

500

2023.11.07

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1520

2023.06.21

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

561

2026.02.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 9.3万人学习

Git 教程
Git 教程

共21课时 | 3.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号