资讯专栏INFORMATION COLUMN

网易云深度剖析Kubernetes优化与实践

fai1017 / 2032人阅读

摘要:最后,张晓龙透露未来网易云会在以下三个方面继续深耕研发高性能容器,跟进开源社区最新版本并适配,加大参与社区力度并反馈社区。文章来源网易云社区

欢迎访问网易云社区,了解更多网易技术产品运营经验。

10 月 15 日,聚焦 Kubernetes 中国行业应用与技术落地的首届中国 Kubernetes 用户大会(KEUC)在杭州成功举办。本次大会吸引了来自全球各地的技术精英齐聚一堂,共同探讨、分享 Kubernetes 最前沿技术和成果,对于 Kubernetes从理论到落地推广,并走向国际化有着极为深远的意义。

大会的Keynote环节中,网易云基础设施部技术总监张晓龙带来了题为“容器及其编排技术在网易公有云的应用”的演讲。

网易从2012年就开始使用LXC工具部署内部业务,2014年研究容器并基于Docker部署面向网易内部产品的消息推送服务,2015年开始研究容器编排并基于kubernetes实现网易自身的容器编排服务,2016年将公有云基础设施服务(云主机、云网络、云硬盘)与已有容器及其编排服务深度整合并优化,并发布网易云容器服务(蜂巢容器云),目前在研发面向高性能场景的公有云裸金属容器。

网易云容器服务的目标是面向海量互联网用户提供按需使用、高性能、安全可靠的公有容器云,为了完成这个目标,主要遇到了四大挑战:

多租户隔离:实现容器系统内核、网络的隔离,实现容器的安全可靠;

资源动态管理:容器的计算、网络、存储资源按需动态分配与回收;

高可扩展:实现大规模容器下的高效编排管理;

高性能:提供高网络吞吐量、高IOPS的容器。


网易云深度整合IaaS与容器及其编排服务

网易云将基础设施与容器编排服务做了深度整合与优化,实现了容器网络/内核的租户隔离;基础设施的性能优化可直接提升容器性能;实现容器运行资源按需动态管理;将资源管理和容器编排分层,降低容器集群管理的复杂性。

此外,网易云通过对社区原生集群编排的一系列优化,实现了Kubernetes单集群容器管理能力相比官方1.6版本6倍的性能提升,同时实现了多个Kubernetes集群并行扩展的能力,使得我们可以面向海量互联网业务提供大规模容器集群的管理。

最后,网易云结合计算、存储、网络层面的基础设施实现了容器的高性能:

计算层面:容器直接运行于裸机,消除KVM虚拟化/IO路径的开销,计算性能提升15%;

网络层面:基于DPDK/SR-IOV实现高速网络包转发,网络包处理能力接近150W;

存储层面:容器使用自研高性能分布式块存储后端,磁盘写性能3W+ IOPS/300Mbps。

最后,张晓龙透露未来网易云会在以下三个方面继续深耕:研发GPU/FPGA 高性能容器,跟进开源社区最新版本并适配,加大参与社区力度并反馈社区。

在Kubernetes技术论坛中,网易云首席解决方案架构师刘超分享了“网易云如何基于大规模Kubernetes集群支持高并发应用”。

网易云首席解决方案架构师 刘超

首先,刘超以网易考拉海购为例,介绍了大规模云原生应用的支撑痛点。考拉在拆分为微服务后,各个服务间的关联关系是非常复杂的。为了支撑这个复杂的应用,会对Kubernetes集群产生以下需求:首先,在入口需要有高性能负载均衡器承载外部大规模的流量,流量进来后需要高性能私有网络来支撑组件间的相互访问;其次,要保证容器网络和虚拟机网络互通,使得容器可以访问PaaS平台的服务:此外,还包括高可用、服务发现、统一的配置中心等需求。

刘超分别从架构、网络、负载均衡、服务发现等方面介绍了网易云如何解决大规模云原生应用的痛点,从而支撑考拉业务的。

网易云容器服务平台架构

上图是网易云容器服务平台的架构,网易云的容器服务部署在底层的IaaS平台之上,需要动态依赖底层的计算资源来创建云网络、云硬盘、Node节点等资源。通过网易云自研Netease Controller组件,可以监听事件事先准备好底层的硬件资源;

云网络方面,网易云自研的CNI插件部署在每个虚拟机节点上,每当发现有Pod起来的时候,就会调用CNI插件,从IaaS平台上虚拟出一张网卡打到虚拟机里。

容器服务的网络模型

在IaaS平台或虚拟机中部署容器,通常会遇到二次虚拟的问题,即物理机到虚拟机的一次虚拟和虚拟机到容器的一次虚拟,对吞吐量会产生很大影响,如左图所示。为了解决这个问题,网易云将虚拟机的网卡打到容器中(右图),容器看到的网络和虚拟机看到的网络是同一个二层网络,一方面的好处是只有一层overlay,另一方面虚拟机和容器之间可以相互访问,使得虚拟机和容器混合部署的应用可以无感知地迁移,并且容器也可以访问虚拟机上的PaaS服务。

负载均衡方面,网易云也开发了一个Load Blancer Controller,要起一个负载均衡的时候,会调用Load Balancer Manager去创建一个虚拟的Load Balancer。我们的负载均衡包含2层,一层是物理的负载均衡,所有租户共享;另外一层是虚拟机中的HAProxy,负载均衡和虚拟机或容器的连接通过OVS的二层网络就可以搞定。

Kubernetes默认使用用kube-proxy实现服务发现,考拉和云音乐等大型应用更倾向于使用其做外部的服务发现,可以简化配置;而内部的服务发现通常沿用容器化前的服务发现方案Dubbok,一方面因为Dubbok的功能更强大,另一方面避免底层平台的绑定。

网易云为您提供容器服务,欢迎点击免费试用。

文章来源: 网易云社区

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/25281.html

相关文章

  • 基于开源,强于开源,轻舟微服务解决方案深度解读

    摘要:德邦快递创始于年,从专于传统零担业务到现在全面发力大件快递,业务量正处于高速增长中。网易云轻舟微服务是围绕应用和微服务打造的一站式平台,帮助用户快速实现易接入易运维的微服务解决方案。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 2018年7月31日,由杭州市政府、赛迪以及网易主办的2018中国杭州云创大会于杭州国际博览中心如期举办,大会以开放·生态·赋能为主题,汇聚行业领袖、技...

    weknow619 评论0 收藏0
  • 为什么 kubernetes 天然适合微服务 (3)

    摘要:此文已由作者刘超授权网易云社区发布。五更加适合微服务和的设计好了,说了本身,接下来说说的理念设计,为什么这么适合微服务。相关阅读为什么天然适合微服务为什么天然适合微服务为什么天然适合微服务文章来源网易云社区 此文已由作者刘超授权网易云社区发布。 欢迎访问网易云社区,了解更多网易技术产品运营经验 四、Kubernetes 本身就是微服务架构 基于上面这十个设计要点,我们再回来看 Kube...

    nicercode 评论0 收藏0
  • 性能优化全新思路!实践腾讯、字节、阿里、百度、网易等互联网公司项目实战+案例分析(附PDF源码)

    摘要:不努力不奋斗,可能就会在基层一辈子止步不前。不过,只一句,如果你还在做这一行,还是一名程序猿媛,想走上坡路的你,也许我这到手的十几家一线互联网公司性能优化项目实战可能会对你有所帮助。 ...

    ytwman 评论0 收藏0
  • 2019年微服务5大趋势,你pick哪个?

    摘要:趋势扩展到机器学习领域已经成为容器编排的事实标准,它的领域也在不断扩张,未来将成为机器学习技术栈的一部分。比如,发布了开源的,通过添加到集群中,扩展了的,使得机器学习的工作负载在中成为一等公民。 2018年对于微服务来说是非常重要的一年,这一年Service Mesh开始崭露头角,解决服务间复杂的通信问题,这一年很多国内互联网公司已经有了较为成熟的微服务实践案例,网易云主办的微服务实践...

    fanux 评论0 收藏0
  • 微服务应用新趋势:Service Mesh、AIOps和中台化

    摘要:目前,网易云轻舟微服务平台已经应用于银行证券视频监控物流工业等行业不少中大型企业,帮助其实施微服务化改造,建设符合行业特点的业务中台,支撑企业数字化战略的落地。 微服务技术由于天生支持快速迭代、弹性扩展的特点,使企业能够在不确定性下提升发展速度及抗风险能力,受到了越来越多的关注。当前,云服务商纷纷试水微服务产品,最为典型的,当属推出轻舟微服务平台、剑指整个微服务应用生命周期的网易云。 ...

    tunny 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<