昨天一早上班就从微信群获知 Merbridge 正式入选 eBPF Landscape[1],作为项目组的一员深感与有荣焉。
Merbridge 的发起人是 Kebe,他是 Istio 资深大咖,借助 Linux 内核的神奇技术 eBPF,尝试替代传统的 iptables 来实现流量拦截,加速服务网格,提高服务性能。目前支持的服务网格环境包括:Istio、Linkerd2 和 Kuma。
项目组将安装部署过程写入一个 YAML 文件,用户只需在网格环境中使用一行代码就能安装 Merbridge:
kubectl apply -f https://raw.githubusercontent.com/merbridge/merbridge/main/deploy/all-in-one.yaml
01
社区反响
Merbridge 在今年 2 月初一经开源,就获得 Istio、Cilium 等社区的广泛关注,Kebe 作为发起人也备受社区瞩目,并顺利加入 Istio 指导委员会参与管理决策,而其他项目组成员也逐渐加深对 Istio 等服务网格的学习和探索。我也是其中之一,在参与 Istio.io 贡献五个月后,得到社区认可一跃成为 zh-docs Maintainer。
另外,Cilium 社区管理层也曾多方主动接洽 Kebe,我们还因此发表了 “Merbridge 与 Cilium[2]” 友好促进的特定博文。
此后 Kuma[3] 服务网格的开发者也积极参与 Merbridge 贡献,为项目提交了 500 多行代码[4],最终在项目组的共同努力下,实现了 Merbridge 与 Kuma 环境的良好兼容。
02
迭代开发
自发布以来,Merbridge 持续地迭代开发,每隔几个月就发布一个版本:
-
1 月 27 日 v0.5新增对 passive sockops 的支持;使用 ingress path 进行消息重定向转发;开始支持使用 helm 部署 Merbridge。
-
5 月 23 日 v0.6 引入了 CNI 模式,支持全量的 Istio 流量转发能力。
-
7 月 20 日 v0.7 使用 tc (traffic control) 代替 XDP 来做容器的出入口流量处理,规避 XDP Generic 模式存在的问题;全新增加对 Kuma 的支持,现在可以在 Kuma 中使用与 Istio 相同的能力。
Merbridge 官网[5]的内容也日渐丰富。
03
韶华不负
未来可期
花开自有期,绽放亦有时。在所有贡献者的共同努力和呵护下,Merbridge 的花苞徐徐绽放开来。今年 4 月初,Merbridge 顺利入选 CNCF 云原生全景图(Cloud Native Landscape),进入 Orchestration & Management (编排与管理) 层的 Service Mesh (服务网格) 象限,成为 CNCF 推荐的云原生服务网格加速器。
图片节选自云原生全景图:https://landscape.cncf.io
时至九月,Merbridge 又顺利入选 eBPF 全景图,与 Cilium 等著名项目并列于 eBPF 官方推荐的应用列表。
图片节选自 eBPF 全景图:https://ebpf.io/applications/
Merbridge 历时七个月,从构思到实现,从起步时的四方瞩目到如今位列 CNCF 和 eBPF全景图,离不开项目组对服务网格的深入学习和洞察,也是「DaoCloud 道客」倡导开源贡献所结出的一颗硕果。
值得一提的是,在过去 365 天内,「DaoCloud 道客」在 Istio 社区的贡献全球排名第 4。
数据来源:https://www.stackalytics.io/
欢迎对 Merbridge 感兴趣的伙伴,加入 Merbridge 的开源贡献、技术讨论和使用。
项目地址:
https://github.com/merbridge/merbridge
Slack 群组:
https://join.slack.com/t/merbridge/shared_invite/zt-11uc3z0w7-DMyv42eQ6s5YUxO5mZ5hwQ
参考链接
[1] eBPF Landscape:https://ebpf.io/applications/
[2] Merbridge 与 Cilium:https://merbridge.io/zh/blog/2022/04/23/merbridge-and-cilium/
[3] Kuma:https://kuma.io/
[4] 500 多行代码:https://github.com/merbridge/merbridge/pull/177
[5] Merbridge 官网:https://merbridge.io/
本文作者
要海峰
现任 「DaoCloud 道客」Senior TW 高级文档工程师
注释:
1. eBPF 是一项革命性技术,允许在 Linux 内核中运行轻量级沙盒程序。众所周知操作系统可以俯瞰和监测整个系统,理论上是实现可观测性、网络和安全功能的理想位置。然而在 eBPF 出现之前,为内核编写代码会出现很多稳定性和兼容性问题,无法保证编写的代码不会使内核崩溃,更改内核版本和架构也很容易破坏代码。eBPF 改变了这个游戏规则,它提供了一种安全有效的方式在内核中运行代码。
2. CNCF 全称 Cloud Native Computing Foundation (云原生计算基金会),隶属于 Linux 基金会,成立于 2015 年 12 月,是非营利性组织,致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术,普及云原生应用。云原生全景图由 CNCF 从 2016 年 12 月开始维护,汇总了社区成熟和使用范围较广、具有最佳实践的产品和方案,并加以分类,为企业构建云原生体系提供参考,在云生态研发、运维领域具有广泛影响力。