Linux神器之eBPF技术展望(连载三)

2023-02-27新闻来源:云尖信息平台 点击数:575次

eBPF技术出现的根本原因,是为了解决内核迭代速度慢和应用需求变化快之间的矛盾,其超能力就是对内核的可编程性。这种超能力,也是它“未来可期”的资本。

 

eBPF助力云原生系统“攻城略地”

 Kubernetes等与内核脱离的云原生系统被越来越广泛地应用后,eBPF的这种“超能力”就变得尤为重要,很多原来不可能、或很难实现的功能,现在变得很简单了。

例如,作为可观察性或安全工具的sidecar容器,是需要部署在pod内运行的,以前依赖手动部署或者自动部署。但如果恶意用户运行了一个pod,且没有部署sidecar,那么该pod就游离在监管之外了。而eBPF可以在不用对pod做任何更改的情况下,通过内核知道所有的容器和pod中发生的所有事情,从而使得监控无法绕开。

 

eBPF重新定义Linux系统

 除了前面介绍的“网络优化”应用场景外,eBPF技术在故障诊断、安全控制、性能监控、进程可视化等领域也逐渐“一统江湖”。例如当前Linux系统的主流调试技术FtraceKprobePerfUSDT等,逐渐被eBPF统一。在扩展了功能的同时、也带来了一致性,让开发和运维能将更多专注力放在具体业务上。

可以这么说,eBPF技术不仅解放了Linux内核,还重新定义了我们思考操作系统的方式。

 

值得一提的是,微软也在2021年启动了“eBPF-for-windows”项目,通过采用相同的概念和相同的通用抽象,以使 eBPF Windows 10 Windows Server 2016 及以后的版本上运行,目的是让开发者能在现有版本的 Windows上使用熟悉的eBPF工具链和应用编程接口(API)。

 

  

关于eBPF 的连载技术短文到这一期就结束了,但人们对它的探索不会止步。eBPF是一个快速发展中的技术,欢迎各位与云尖一起,探索关于eBPF的更多可能!