近日,华为云•云容器引擎CCE国内首发支持了基于Kubernetes的容器网络高吞吐IPVS模式。该特性解决了大规模场景下服务间通信性能劣化的问题,比起Kubernetes中原生的iptables模式有着更好的性能表现。IPVS早已被广泛应用于互联网视频领域,而本次华为云CCE在国内率先将IPVS技术应用在Kubernetes容器网络部署中,使容器网络方面的性能得到了革命性的提升,满足中大型项目的的网络性能需求。
每秒十万次处理的吓人技术
IPVS全称IP VirtualServer,是LVS项目的一部分,是一款运行在Linuxkernel当中的四层负载均衡器,其性能优异,可以轻松处理每秒10万次以上的转发请求,在中大型互联网项目,如视频、直播、大型游戏等被广泛使用。
·传输层Load Balancer,LVS负载均衡器的实现
·同样基于Netfilter,但使用的是hash表
·支持TCP, UDP,SCTP协议,IPV4,IPV6
·支持多种负载均衡策略rr, wrr, lc, wlc, sh,dh, lblc…
·支持会话保持persistent connection调度算法
CCE 率先支持IPVS使能互联网大场景
华为云CCE基于业界Kubernetes和Docker生态,深度整合华为云的计算、存储、网络等IaaS资源,为用户提供高效自动化的企业级云容器全栈解决方案。
一直以来,在Kubernetes中原生的 Service 负载均衡是基于Iptables实现,但iptables有一个致命的问题就是当部署的服务数达到一定规模(例如上万)时,会导致网络性能瓶颈。究其原因主要是在转发规则更新时,全量式更新消耗了非常多的时间。据测算,当集群中有2万个服务时,增加一条规则需要耗时5h。此外,iptables还会出现按规则刷新时服务断开等问题,这些都限制了K8S集群在大规模场景下的应用。
华为作为CNCF社区的初创成员和白金会员,K8S的最早采用者之一,积极回馈Kubernetes社区,综合贡献度位居全球前四,国内第一。
华为基于多年来在网络技术上积累的实践经验,将IPVS引入K8S内部代替了iptables,解决了规则匹配和更新时耗时的问题,同时也降低了规则维护时的资源开销,大大优化了服务间的转发性能。在经历电信级大规模场景实践考验后,现正式将K8SIPVS技术应用在CCE上,帮助用户应对大规模场景的负载均衡处理。
PVS对比iptables 性能卓越高下立现
将IPVS接入Kubernetes听上去很酷,但是在具体效果体现上又如何呢,我们在影响大规模场景部署转发的更新时延、以及带宽影响两个方面用iptables和IPVS两种转发模式进行两轮详细的测评PK。
Round1转发规则更新时的时延PK:
从分钟级到微秒级
Service数量和规则更新时延
上图可见,当集群中的Service达到2万规模时,iptable的规则更新的时延从50us暴增到5小时,而IPVS的规则更新时延仅仅上升至70us,体验上没有任何变化。
Round2 网络带宽时延稳定表现性能无伤
Service数量和网络带宽
上图可见,当集群中Service增加时,iptables模式下第一个创建的服务和最后一个创建的服务的网络带宽有着巨大的差别(因为最后一个服务规则更新的时延很长),而IPVS模式服务的带宽并无多少差别。
在云容器引擎CCE的IPVS模式下创建集群,不但可以一键式完成部署,还可以获得相比iptables更优秀的服务间通信性能。目前,K8S IPVS已支持ClusterIP,NodePort,External IP,Load Balancer等多种类型Service,兼容iptables模式几乎全部的现有能力,针对用户自身场景同时支持两种模式的完美运行。IPVS模式的引入,消除了K8S在大规模场景下的网络瓶颈,解决了大型应用在K8S上运行的后顾之忧,为用户提供体验更加极致的云上应用服务。
Kubernetes社区中国TOP1贡献度
领航国内容器市场
Kubernetes是Linux Foundation旗下基金会CNCF(Cloud Native Computing Foundation)管理的开源容器编排项目,目前已成为容器编排市场的主导者;而华为云CCE容器引擎团队是全球领先的Kubernetes容器产品研发团队,无论是在社区贡献、生态构建、产品自研竞争力构建上都遥遥领先:
中国TOP1贡献,Maintainer 12席
CNCF初创成员及白金会员,OCI初创成员,全球首批KSCP认证厂商
中国唯一CNCF基金会技术监督委员会9席位之一
中国唯一K8S社区技术指导委员会13席位之一
华为云应用服务为用户提供一站式的容器、微服务、区块链等云上中间件服务,助力企业应用上云更简单,运行更高效。
更多精彩内容,请关注“华为云”公众号