共计 1732 个字符,预计需要花费 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/cil…
https://github.com/cilium/cil…
架构
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….
Terway: https://www.alibabacloud.com/…
Terway 网络插件:_ https://help.aliyun.com/docum…