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

头图1111.png

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

背景


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

1.png

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

2.png

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

云原生容器服务团队贡献 PR
https://github.com/cilium/cil...
https://github.com/cilium/cil...
github

架构


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

3.png安全

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

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

4.png网络

基于 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 便可启用。

5.png分布式

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 间通信

6.png

上图数字越大性能越好

经过测试,能够看到基于 IPvlan 的 Pod 网络延迟较低,在 TCP_CRR 的测试中性能指标和独占 ENI 模式至关。

wrk + nginx 性能对比

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

7.png

上图数字越小性能越好

8.png

上图数字越大性能越好

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

  • ClusterIP 吞吐增长 277% , 延迟下降 50%。

总结


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

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

安装文档:_https://docs.cilium.io/en/v1....

Terway: https://www.alibabacloud.com/...
Terway 网络插件:_ https://help.aliyun.com/docum...