Cilium 首次集成国内云服务,阿里云 ENI 被纳入新版本特性

阿里巴巴云原生
 阿里巴巴云原生
发布于 2021年06月11日
收藏 5

作者:清弦

阿里云技术专家,主要负责 ACK 容器网络设计与研发,阿里云开源 CNI 项目 Terway  主要维护者,Cilium Alibaba IPAM 负责人

背景

近期 Cilium 社区发布了 Cilium 1.10 正式版本,在这个版本中正式支持阿里云 ENI 模式,阿里云也是国内首家支持 Cilium 的云厂商。

Cilium 是一个基于 eBPF 的高性能容器网络项目,提供网络、可观测性、安全三方面的解决方案。

Cilium 本身支持 Overlay 网络模式部署在各种云平台或者自建的集群上,但是这种非云原生的网络模式会带来不小的性能损耗。阿里巴巴云原生容器服务团队向 Cilium 社区贡献了阿里云 ENI 模式,使得在阿里云上可以以云原生方式运行 Cilium 。

云原生容器服务团队贡献 PR

  • https://github.com/cilium/cilium/pull/15160
  • https://github.com/cilium/cilium/pull/15512

架构

AlibabaCloud Operator 是集群内的网络资源控制器,承担对网络资源(ENI、ENIIP)统一管理、分配工作。

Cilium agent 通过 list-watch 机制、CNI 请求对 Operator 分配的地址资源进行配置、管理。

这种架构将所有阿里云 OpenAPI  调用集中到 Operator 中,可以有效的进行 API 请求管理,避免大规模集群下 API 流控问题。

基于 Cilium 1.10 + 阿里云 ENI 的高性能云原生网络

Cilium 使用了 EBPF 内核技术对传统数据链路进行了优化,绕过了Conntrack 模块,对容器场景下网络性能有了非常大的提高。在阿里云上使用 Cilium 1.10 + 阿里云 ENI 模式有多种按照方式,请阅读 Cilium 社区的安装文档[1]。

为了使云上用户享受到更加出色的网络性能,阿里云自研的开源 CNI 插件 Terway [2] 与 Cilium 实现了更好的结合。Terway 支持使用阿里云的弹性网卡来实现的容器网络。使得容器网络和虚拟机网络在同一个网络平面,在不同主机之间容器网络通信时不会有封包等损失,不依赖于分布式路由也能让集群规模不受限于路由条目限制。目前,Terway IPvlan 模式已经深度集成 Cilium 。

使用 Terway IPvlan

使用 Terway 模式非常简单,在阿里云容器服务控制台,创建集群中选择网络插件  Terway ,并勾选 IPvlan 即可启用。

IPvlan + eBPF 性能对比:

测试环境:

  • 2 节点 ecs . g5ne . 4xlarge 机型

  • 对比测试

    • Terway 独占 ENI ( ipvs )

    • Terway 共享 ENI IPvlan ( ebpf )

    • Terway 共享 ENI veth ( ipvs )

    • Flanne l vxlan ( ipvs )

Netperf 性能对比 TCP_CRR

测试场景:使用 netperf 测试 Pod 间通讯

上图数字越大性能越好

通过测试,可以看到基于 IPvlan 的 Pod 网络延迟较低,在 TCP_CRR 的测试中性能指标和独占 ENI 模式相当。

wrk + nginx 性能对比

测试场景:采用 wrk 压测 nginx 的 Service 的方式,采用 100 字节的小页面模拟常见的集群中微服务通信。

上图数字越小性能越好

上图数字越大性能越好

Terway IPvlan 模式在 wrk- nginx 的短连接测试中相对于传统的 Terway veth 策略路由方式:

  • ClusterIP 吞吐增加 277% , 延迟降低 50%。

总结

随着 Kubernetes 已经成为容器调度的事实标准,企业上云的首选。容器网络做为应用的底层基础资源,得到越来越多的关注。

在阿里云上我们默认提供高性能的 Terway 网络插件 [3] 帮助用户充分使用云原生的网络资源。Cilium 作为社区新兴的容器网络方案,在可观测性、安全性上有许多出色的特性,本次增加的阿里云ENI模式,可以帮助 Cilium 的用户充分使用阿里云上的网络资源。我们也将继续与社区同行,推动高性能的云原生网络实现规模化落地。

  • 安装文档:https://docs.cilium.io/en/v1.10/gettingstarted/alibabacloud-eni/#k8s-alibabacloud-eni
  • Terway:  https://www.alibabacloud.com/help/zh/doc-detail/97467.htm
  • Terway 网络插件:  https://help.aliyun.com/document_detail/86500.html
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Cilium 首次集成国内云服务,阿里云 ENI 被纳入新版本特性
加载中
返回顶部
顶部