Kepler功耗监控项目完成架构重构:放弃eBPF转向标准接口
CNCF沙箱项目Kepler完成架构重构,从eBPF转向/proc和/sys标准Linux接口,降低部署门槛并提高功耗归因准确性。
作者:核流编辑 · 栏目:资源
CNCF沙箱项目Kepler最近完成了架构重构,从eBPF转向使用标准Linux /proc和/sys接口。部署门槛降低了,功耗归因的准确性也提高了。 为什么要重构 Kepler是一个Kubernetes功耗监控工具,用于读取硬件功耗计数据,把功耗归因到Linux进程,再关联到集群中的Pod,最后导出Prometheus指标。它适合需要把能耗纳入容量、成本或绿色计算指标的云原生团队。 但旧架构有问题。eBPF需要CAP_BPF和CAP_SYSADMIN权限,很多生产环境给不了。eBPF跟踪细粒度内核进程时容易出错,功耗数据不准。代码也难维护。 新架构怎么做的 重构后的Kepler只读访问/proc和/sys文件系统获取利用率信号。这些接口所有Linux系统都有,权限要求低多了,部署也简单。 功耗指标方面,新版本能动态发现主机的功耗计结构,不再硬编码功耗模型。硬件布局不同,Kepler也能适应,给出更精确的能耗数据。 验证结果 项目团队做了两组实验。第一组由CERN的Laura Llinares领导,在同一台裸机上同时跑新旧版本。结果显示新版本的节点CPU能耗指标跟IPMI硬件读数一致,旧版本那种多kW的尖峰没了。 第二组由Red Hat的Vimal Kumar领导,用渐进式压力测试。进程功耗归因差距接近0瓦特,新设计的准确性得到验证。 如何获取和使用 Kepler提供两种安装方式:Helm和Kepler Operator。安装后,Prometheus会自动抓取Kepler导出的指标,可以用Grafana仪表板查看。 项目地址:https://github.com/sustainable-computing-io/kepler 适用人群:需要监控Kubernetes集群功耗的运维团队、关注绿色计算的组织、云原生开发者。 社区可以做什么 Kepler团队希望社区在三个方向贡献:GPU功耗监控测试、虚拟机功耗建模训练、数据准确性验证。如果你的环境有IPMI或外部功耗计,测试结果可以直接帮助改进模型。 Kepler重构后更易部署、数据更准。如果你的团队需要监控Kubernetes集群功耗,可以从GitHub仓库获取并用Helm一键部署。 参考资料 CNCF Blog:Kepler, re-architected: Improved power accuracy and a community call to action! GitHub:sustainable-computing-io/kepler