DockOne微信分享(七十六):容器化ICT融合初体验

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 本文讲的是DockOne微信分享(七十六):容器化ICT融合初体验【编者的话】本次将分享的容器化ICT融合平台是一种面向未来ICT系统的新型云计算PaaS平台,它基于容器这一轻量级的虚拟化技术以及自动化的“微服务”管理架构,能够有效支撑应用快速上线和自动扩缩容,最大化IT基础设施资源利用率并降低总体拥有成本(TCO)。
本文讲的是DockOne微信分享(七十六):容器化ICT融合初体验【编者的话】本次将分享的容器化ICT融合平台是一种面向未来ICT系统的新型云计算PaaS平台,它基于容器这一轻量级的虚拟化技术以及自动化的“微服务”管理架构,能够有效支撑应用快速上线和自动扩缩容,最大化IT基础设施资源利用率并降低总体拥有成本(TCO)。未来的网络正在向IT化、云化方向发展,容器与微服务技术,完美契合“网络即服务”、网络切片等发展理念,将有助于实现更加灵活、智能、高效和开放的5G新型网络。
灯泡.png

2015年,NFV和容器无疑都是最热门的技术,被很多业内人士认为是未来的发展趋势;2016年,当NFV遇上容器,会碰撞出什么新的火花?当容器化的CT/IT业务在同一平台内融合部署,又会产生怎样新的体验?下面和大家分享一下,从2015年到2016年,我们做的容器化CT-IT融合方面的工作。IT我就不解释了,CT这里主要指的是电信业务。

容器化CT-IT融合系统是一种面向未来ICT系统的新型云计算PaaS平台,它基于容器这一轻量级的虚拟化技术以及自动化的微服务管理架构,能够有效支撑应用快速上线和自动扩缩容,最大化IT基础设施资源利用率并降低总体TCO。未来的网络正在向IT化、云化方向发展,容器与微服务技术,完美契合“网络即服务”、网络切片等发展理念,将有助于实现更加灵活、智能、高效和开放的5G新型网络。

下面是从2015年到2016年,我们做的容器化CT-IT融合方面的工作:
  • 2015年,我们首次提出容器化ICT融合方案
  • 2016年初,我们完成容器化ICT融合原型系统
  • 2016年4月8日~4月9日,中国移动召开2016年度技术工作会,容器化ICT融合原型系统首次亮相技术工作会精品展。
  • 2016年6月20日~6月23日,OPNFV Summit在德国柏林召开。在OPNFV PoC战区,中国移动和红帽公司联合展示了容器化ICT融合平台
  • 2016年6月29日,由GSMA主办的2016世界移动大会-上海(Mobile World Congress,简称MWC)在上海新国际博览中心盛大开幕,在中国移动研究院5G展区,我们为参会专家演示了容器化ICT融合原型系统。

最初产生将网元容器化的想法来源于2015年,我们正在进行NFV IMS测试,同时也正在进行容器和DCOS的相关技术研究和验证性工作,关于应用场景,最适合容器化的应用无疑是所谓的云原生应用,或者说是微服务,其主要特点是分布式、无单点失效、无状态,这和我们测试的某些厂商的IMS网元的特征竟然如此地一致,而容器的轻量级、高性能、快速启动等优势,也恰好是网元所需要的,几分钟部署一套核心网元或许真的会从梦想变成现实。于是,一对新的组合诞生了,NFV Container=NFC。

理论+实践才能创造出真理,在理论分析的基础上,可行性验证必不可少,而惊喜总是无处不在,尝试创新的道路也不是总那么孤独,开源的IMS项目Clearwater也在做和我们类似的工作。Clearwater是IMS网元的一个开源实现,其主要目标是开发一套适合在云上(如aws)部署的IMS网元,提供语音、视频、消息服务。Clearwater在架构上就以微服务的方式设计各个组件,并且提供了docker格式的容器镜像,我们将它移植到Kubernetes平台上,平台具有负载均衡、容灾恢复、支持资源监控等特点使其更适合服务化

测试环境

硬件

Red Hat 3D打印演示系统,内含3台服务器。
小红.png

软件

  • 操作系统:Red Hat Enterprise Linux Server release 7.2 (Maipo)
  • 容器引擎:docker-1.8.2-10.el7.x86_64
  • 容器编排:kubenetesv1.1.0-origin-1107-g4c8e6f4

架构.png

Clearwater架构

Clearwater架构主要分为六大组件,Bono、Ralf、Sprout、Homer、Homestead、Ellis,如下图所示,其中Sprout作为SIP Router,是核心业务处理模块,也是业务量增加时,需要做动态扩容的主要部分。
clearwater.png

NFC测试方案

针对Clearwater中每个组件,定义一个Kubernetes Service,每个服务中包含一个或多个POD,可以通过增加POD个数进行横向扩展。

Kubernetes中服务列表如下图所示:
service.png

Kubernetes中POD列表如下图所示。测试过程中,通过基于SIPP的clearwater组件增加并发用户量,系统压力增加,触发sprout服务中POD个数增加。
podslist.png

为实现POD的动态扩展,一方面,利用Kubernetes本身的replication controllers,根据负载增加或减少POD副本数量,另一方面,clearwater sprout是微服务架构,分布式,无状态,数据和应用分离,可通过集群配置,让集群中各个容器共享数据库。

在并发用户数为300个时,sprout模块POD数量一般为2~3个,在并发用户数增加到2000个时,sprout模块POD数量达到11个,如果继续增加并发用户数到3000个,sprout模块POD数量达到15个左右。

CT-IT融合测试方案

在大数据应用中,容器的轻量级、高性能、快速启动等特点同样具有优势,而CT和IT业务融合部署,也是未来发展的一个趋势,在本次测试中,我们在同一个容器平台上,部署了IMS网元和大数据应用。

在CT应用负载比较低的时候,系统主要用于进行大数据应用计算,大数据应用所占系统CPU资源比例较高。如下图资源监控界面所示。
监控.png

当CT业务量增加,系统负载增大,为满足在线CT业务要求,增加CT业务容器数量,同时减少大数据离线业务占用资源。资源使用情况变化如下图所示。
监控pods.png

总结

容器作为轻量级的虚拟化技术,可以降低系统开销,提升系统性能。
  • CT/IT融合部署:CT和IT应用在同一平台内混合部署,共享资源,提高资源利用率。
  • 统一资源调度:打破应用竖井,统一建设,统一运维,降低TCO
  • 系统性能提升:采用容器技术,轻量级的虚拟化,降低系统开销
  • 微服务架构:分布式、无状态的云原生应用,实现应用于数据的分离
  • 弹性伸缩、自动扩容:支持自定义的资源调度策略,实现根据业务量变化的资源动态调度。

Q&A

Q:网络转发有没有遇到瓶颈?有没有尝试一些加速技术,比如DPDK?
A:因为是控制面网元,目前没有遇到瓶颈,没有用DPDK,我们之前测试过虚拟机的,因为网元特点,也是没有配置DPDK,目前的测试上看,性能上没有问题。
Q:现在数据库也放在容器中吗?
A:是的,但是也是数据库集群,我们正在做将数据库分离的工作。
Q:你们实测的容器运行于虚拟机环境,性能如何,你们容器网络如何实现NFV互联?
A:容器没有基于虚拟机环境,因为是控制面网元,性能没有遇到瓶颈。
Q:容器不会包打天下,与虚机,物理机并存可能是一段时间内的一种常态,我们有没有分析哪些业务适合容器化,哪些业务不宜改变?并且在利用Kubernetes作为容器的编排调度工具时,如何实现容器与虚机应用的互通?
A:其实业务不宜改变不仅仅是技术问题,也和业务厂商是否愿意改变有关,毕竟一些遗留的业务已经在现网运行很久了,很难短期内容器化。另外,我们确实碰到了需要内核优化的业务。我们系统中还没有做容器和虚拟机应用互通。
Q:传统CT网络不仅仅是IMS吧,对于CS、PS,SDN/NFV化,你们有什么思路吗?
A:IMS使我们容器化的第一个尝试,其他的网元也正在研究中,后续也会做相关的测试,如果有兴趣,也欢迎参加我们后面的测试。
Q:你们的资源池,有路由器,安全组,负载均衡之类的功能嘛?路由器,负载均衡器可以被分配公网IP吗?
A:指的是容器的资源池还是我们已有的私有云资源池,已有的私有云资源池是有的,但是容器这个原型系统还没有。
Q:类似Clearwater的开源项目还有哪些?
A:NFV方面的吗,如果是IMS,Clearwater业界用的比较多,NFV其他网元开源项目很多。
Q:你们的虚拟机底层使用什么虚拟化技术支撑?
A:这次演示,底层用的就是Docker,我们的私有云资源池有VMware、KVM也有Xen。

以上内容根据2016年8月16日晚微信群分享内容整理。分享人马轶慧,中国移动通信有限公司研究院私有云项目经理,之前曾任VMware研发中心研发工程师。一直关注并致力于虚拟化、容器、云计算等相关领域。DockOne每周都会组织定向的技术分享,欢迎感兴趣的同学加微信:liyingjiesz,进群参与,您有想听的话题或者想分享的话题都可以给我们留言。

原文发布时间为:2016-08-18

本文作者:马轶慧

本文来自云栖社区合作伙伴Dockerone.io,了解相关信息可以关注Dockerone.io。

原文标题:DockOne微信分享(七十六):容器化ICT融合初体验

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
9月前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
10月前
|
Kubernetes Cloud Native 持续交付
容器化、Kubernetes与微服务架构的融合
容器化、Kubernetes与微服务架构的融合
350 82
|
Kubernetes 持续交付 开发者
探索后端技术的未来:微服务架构与容器化部署的融合
在数字化时代的浪潮中,后端技术正经历着前所未有的变革。本文将深入探讨微服务架构和容器化部署如何共同推动后端技术的发展,提升应用的性能、可扩展性和可靠性。通过分析现代软件开发的需求,我们将揭示这两种技术如何互补,以及它们在未来后端开发中的潜力和挑战。
|
10月前
|
运维 Kubernetes Cloud Native
云原生之旅:容器化与微服务的融合
【10月更文挑战第28天】 在数字化转型的浪潮中,云原生技术如星辰般璀璨,引领着企业IT架构的未来。本文将带你穿梭于云原生的世界,探索容器化技术和微服务架构如何携手共舞,打造灵活、高效的应用部署和运维模式。我们将通过实际代码示例,揭示这股力量背后的奥秘,并展现它们是如何为现代软件开发带来革新。准备好了吗?让我们启航,驶向云原生技术的深海。
|
运维 Kubernetes Cloud Native
探索云原生技术:容器化与微服务架构的融合之道
【9月更文挑战第18天】在数字化转型的浪潮中,云原生技术以其灵活性、可扩展性成为企业创新的强大引擎。本文将深入探讨云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同推动现代应用的开发与部署。通过实际代码示例,我们将揭示这些技术如何简化运维,加速产品上市时间,并提高系统的可靠性和弹性。无论你是开发人员、架构师还是IT决策者,这篇文章都将为你提供宝贵的洞见和实践指导。
190 2
|
运维 Kubernetes Cloud Native
云原生之旅:容器化与微服务架构的融合之道
在数字化转型的浪潮中,云原生技术以其高效、灵活的特性成为企业IT架构升级的重要选择。本文将探讨云原生的核心概念——容器化和微服务架构,并阐述它们如何相互融合,共同推动现代应用的开发与部署。通过深入浅出的解释,我们将揭示云原生如何助力企业快速适应市场变化,实现业务的持续创新和价值最大化。
|
Kubernetes Cloud Native Docker
云原生技术:容器化与微服务架构的融合之道
【9月更文挑战第4天】在数字化时代的浪潮下,企业追求敏捷、高效、可扩展的IT架构成为共识。云原生技术作为现代软件部署的黄金标准,其核心理念在于推动应用的快速迭代与无缝迁移。本文将深入探讨云原生技术的精髓——容器化与微服务架构如何相互促进,共同构建起适应云计算环境的应用生态系统。我们将通过实际案例,揭示如何在云平台上利用这些技术实现服务的解耦、弹性伸缩及自动化管理,进而提升企业的竞争力。
197 4
|
运维 Cloud Native 开发者
云原生时代:容器化与微服务架构的融合之旅
【8月更文挑战第9天】 在数字化浪潮的推动下,企业纷纷上云以追求更高效的运营模式。本文将深入探讨云原生技术的核心——容器化与微服务架构的结合,揭示它们如何共同塑造现代软件的开发与部署。通过浅显易懂的语言和实际案例,我们将一同见证这场技术变革给企业带来的创新与挑战,以及开发人员如何在这波潮流中找到自己的立足点。
136 4
|
运维 Kubernetes 安全
云时代的运维之光:容器化与微服务架构的融合之道
在数字化浪潮中,企业IT架构的演进从未停歇。本文以浅显的语言探讨了容器技术与微服务架构如何协同工作,提高运维效率。我们将从基础概念出发,逐步深入到它们在实际工作中的应用,最后分享一些行业内的最佳实践。无论你是运维新手还是资深专家,这篇文章都将为你带来新的视角和思考。
|
运维 Cloud Native Android开发
云原生之旅:容器化与微服务架构的融合之道安卓应用开发入门指南
本文将深入探讨云原生技术的核心要素——容器化和微服务架构,并揭示它们如何共同推动现代软件的开发与部署。通过实际案例分析,我们将看到这两种技术如何相辅相成,助力企业实现敏捷、可扩展的IT基础设施。文章旨在为读者提供一条清晰的道路,指引如何在云原生时代利用这些技术构建和优化应用。 本文将引导初学者了解安卓应用开发的基本概念和步骤,从安装开发环境到编写一个简单的“Hello World”程序。通过循序渐进的讲解,让读者快速掌握安卓开发的核心技能,为进一步深入学习打下坚实基础。
126 1