InfoQ|eBPF 在网易轻舟云原生的应用实践( 四 )
本文插图
Sockops 组件完整的架构设计如下图所示:
本文插图
主要分为用户态 DaemonSet 程序和运行在内核中的 eBPF 程序两部分组成:
- 用户态 DaemonSet 程序 , 主要负责一些管控面的操作 , 包括监控 K8S、docker 的一些信息或者事件 , 然后动态更新 eBPF 程序的配置(用来支持细粒度开启关闭 sockops 功能) , 还包括编译加载 eBPF 程序、提供整个 sockops 组件的升级、对接 prometheus 提供自身的一些监控信息等功能;
- 内核态 eBPF 程序 , 则主要负责上面讲到的全部数据面的加速功能 , 并根据用户态 DaemonSet 程序同步的配置 , 具体实现一个细粒度的 scokops 功能的开启关闭;
- both sidecar 时延降低约 15-20% , qps 提高约 20%;
- client sidecar 时延降低约 10% , qps 提高约 20%;
在网络性能优化方面 , 我们有一些对 iptables 依赖较重的场景(例如 kube-proxy) , 我们会利用 eBPF 并结合社区的一些成果 , 给出性能优化方案及原型的开发验证 。 目前已经有很多非常好的开源项目 , 提供了类似的功能 , 代表性的如 cilium , 我们也针对 cilium 做了一系列验证 , 在性能及功能方面并未达到我们的预期 , 所以我们决定还是从我们自身的需求入手 , 借助社区已有的成果自研一个轻量级的组件来满足需求 。
作者介绍:李阳 , 网易杭州研究院轻舟云原生系统资深开发工程师 , 7 年开发经验 , 曾就职于绿盟科技和 360 安全研究院 , 专注于 linux 内核开发、系统和网络安全及性能调优 。 目前在网易杭研负责虚拟化网络数据面的性能调优工作 。
陈启钧 , 网易杭州研究院轻舟云原生资深开发工程师 , 十年以上开发经验 , 曾就职于华为 , 主要从事存储网络管理、容器以及网络虚拟化相关工作 , 专注于发现并解决问题 。 目前在网易杭研主要负责 VPC 网络、轻舟容器网络、轻舟服务网格等方面的性能调优工作 , 主要关注 Kubernetes、eBPF/XDP、用户态协议栈相关技术 。
InfoQ 粉丝专享福利来喽!各位小伙伴可以扫描下方海报二维码「进群」 , 即有机会获得漫威钢铁侠(珍藏版)手办一整套、Java 高手笔记本 + 极客时间专栏免费课程、数据结构与算法地图 2.0/ 编程必备速查知识手册 / 计算机基础课地图等技术必备知识手册 。 不仅有很多超值奖品还可以和 InfoQ 的读者一起畅所欲言 , 和编辑们零距离接触 。 扫描海报二维码了解更多活动详情 , 快来加入我们吧!
点个在看少个 bug??
推荐阅读
- 网易|OPPO Enco W31网易云音乐定款鉴赏:小姐姐与音乐相遇
- 网易|网易云式浪漫:耳机分你一半一起听
- 网易|是营销过度还是真有实力?网易严选人体工学椅值得买吗?
- |耳机分你一半一起听,吹爆网易云这个新功能
- 搜狐科技|【科技早报】B站二季度净亏损同比扩大81% 网易市值突破700亿美元
- 丁磊|市值超700亿美元!网易股价大涨,丁磊身家超黄铮
- 互联网|以后听歌要“更贵”?腾讯阿里战争“升级”,网易“投靠”马云
- 网易|游戏营收占比近八成!电商引擎熄火 网易下个增长点何在?丨财报AlphaGo
- 音乐|网易云音乐联合搜狗输入法推出音乐帮聊功能
- 网易有道|网易有道“两头难顾”:营销费用节节攀升之下 AI创新是不是“伪命题”?
