联系
我们
投稿
反馈
评论 返回
顶部

内容字号: 默认 大号超大号

段落设置: 段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

助推IT技术转型 运营商容器技术应用初探

2019-11-23 12:32 出处:互联网 人气: 评论(
给心情放假 新年祝福语 btv财经 Knock knock 002317众生药业 王治平女儿 生命方舟4攻略 dinosaur

通信世界网消息(CWW)为了满足新业务创新与交付的敏捷性需求,运营商行业一直在探索IT技术转型,这种转型有多个维度。应用的转型是其中比较主要的部分,也是最近一两年的热点话题。本文旨在探讨运营商行业的应用转型的挑战,方案选择与实践经验,论证容器及相关技术在应用转型中的作用与价值,并通过对主流的技术选型与实践进行比较,试图找出最能满足当前需求的容器云架构和建设路径,供同行业的其它公司在技术选型时参考使用。

1、引言

容器技术最早出现在2000年左右,但直到2013年才开始成为热点技术,最近两年更是有了飞速的发展。分析背后的原因,最关键点是需求已经成熟。相对于虚拟化技术,容器更加轻量快捷,因此更适合运行按照微服务架构设计的分布式,无状态应用。运营商行业中有很多高并发应用,对性能和弹性都有较高要求,分布式架构可以很好地满足这类应用的需求,是应用转型的一个主要方向。容器技术与分布式架构相得益彰,未来会发展成为新型应用平台的核心。

以Docker为代表的新一代容器技术有几个主要特点:第一主要特点是共享底层操作系统,并提供了一定的隔离与资源访问控制能力。相对于虚拟化技术,可以更少地占用资源,更快地加载应用。但这也带来了一定的安全风险,在实际应用中要注意这方面可能存在的问题;第二个主要特点是新的应用封装技术,极大地简化了应用的交付与运维管理,提高了应用的可移植性和兼容性。代价是需要重新打包应用,甚至重构应用,才能充分利用到容器技术的优势;第三个主要特点是开放性,容器及相关技术的飞速发展得益于开源社区的大力支持,商业化产品也都是基于开源产品来设计和开发的,在容器运行时和容器编排等核心技术组件上标准化程度非常高,有利于运营商基于开源或商业产品来打造自己的解决方案,选型自由度高。

2、容器平台建设关键组件及技术选型要点

1.容器编排工具

在生产环境中大规模部署容器应用时,必须选择好的容器编排工具进行自动化管理,容器编排工具的基本功能包括:

1)编排和调度。根据策略自动化部署容器应用,智能选择部署位置,并对容器化应用提供全生命周期管理。

2)自动扩展与升级。自动实现应用的副本管理,根据负载实现应用的弹性伸缩,滚动升级以实现不中断业务的应用程序更新。

3)服务可用性管理。监测应用和服务的可用性,出现故障时可以自动修复,避免人工操作,这在大规模部署场景下尤为重要。

4)与其它组件的集成。编排工具是核心但不是全部,需提供完善的管理接口,特别是API接口,以对接容器平台上的其它功能组件。

最近两年,主流的容器编排与调度工具主要有Kubernetes,Mesos(DC/OS)和Swarm三种,三种工具特色鲜明。Swarm因为是Docker公司的产品,与Docker容器引擎等组件结合紧密,优点是使用简便,缺点是仅支持容器应用的管理,扩展能力相对较弱,适用于中小规模场景。Mesos曾经是最受追捧的编排工具,对常见的工作负载均有较好支持,并且最先支持大规模容器部署环境, Mesos的弱项是跨平台能力和可管理性。Kubernetes源自Google的Brog项目,历史悠久,社区活跃度也高,发展速度最快,目前已经发展成为最受欢迎的编排工具,K8s对微服务框架有非常好的支持,也有较强的跨平台能力,技术先进性明显,Google将K8s项目移交给CNCF管理之后,生态系统变得更加完善,CNCF于 2017年发布的调查报告显示,已经有77%的容器用户采用K8s作为编排工具。K8s已经发展成为事实上的标准。

下面表格中的内容是三者的对比分析:

表1 主流容器编排工具特性比较

1.png

表项说明:

1,表中前三项内容比较的是主流编排技术对各种类型应用负载的支持情况,“仅容器负载”是指单纯调度容器场景下编排技术的表现,“混合负载”则是指虚拟机与容器混合编排场景下编排技术的表现。其中Kubernetes和Swarm被设计为只支持容器的编排与调度,因此特别适合于仅有容器类应用的场景,而Mesos则同时具备虚拟机和容器的编排能力,因此在混合场景下表现卓越。

2,对于大数据,批处理应用和流式负载,Mesos支持得最早,有大量的支持框架,可以很好地支持常见的大数据和批作业以及长时应用。Kubernetes加入CNCF社区以后,生态系统发展迅速,大有后来者居上之势,在这方面的支持能力增长很快。Swarm则偏重于资源管理,对上述应用的支持能力有限。

3,多云与可移植性则考察各种方案的向下兼容能力,目前兼容Kubernetes和Swarm和平台最多,特别是Kubernetes,目前被几乎所有的公有云平台以及私有云管理平台所支持,为跨云部署应用提供了极大的便利,降低了混合云建设的难度。

4,微服务主要是比较三种技术对新型分布式应用架构的支持能力,Kubernetes上面可以对接如Istio一类的主流服务网格解决方案,给微服务架构的落地带来了很大的便利。

5,支持大规模节点部署情况的对比,Mesos/Marathon的两级调度具有非常好的扩展性,可以支持多达上万节点的集群环境;Kubernetes到1.6版本为止,官方数据证明已经可以很好地支持5000节点的集群;Swarm则更多应用于1000个节点以下的集群环境。

6,社区活跃度方面,Kubernetes无疑会以压倒性优势胜出,同时K8s的社区活跃度还在不断上升之中。

7,可管理性方面,Swarm与Docker集成度最高,管理起来最简便,Mesos组件相对独立,管理工作量最大。

2、容器镜像管理

容器镜像管理解决方案主要分为SaaS和本地部署两类,出于性能、可靠性和安全性的考虑,企业环境下应用容器时,都倾向于在本地部署容器镜像仓库,公共镜像仓库,特别是Docker官方的公共镜像仓库可以作为基础镜像的来源使用,但不适合用来存储企业自身的容器镜像,也不适合作为生产环境的镜像源来使用。因此,运营商需要建立自己的企业级容器镜像仓库。一个功能完善的镜像仓库应该具备下述功能:

1)支持多租户的验证与授权机制 镜像仓库是一种共享服务,必然要支持多用户场景,因此集成的验证、授权与审计功能非常重要,还要支持不同用户之间的协作,方便镜像的共享。

2)镜像安全服务 镜像安全是容器安全中的重要一环,比较关键的技术手段是镜像内容的扫描和镜像的发布控制。需要定期对镜像包内部的文件进行安全性扫描,以发现脆弱性和安全风险。也要对镜像进行审核,只发布那些签合安全与质量控制规范的镜像供用户下载使用。

3)镜像的远程同步与分发 企业通常需要在多个场点上部署容器应用,最佳策略是在每个场点部署本地镜像仓库,同时实现这些镜像存储服务节点之间的智能复制,以实现镜像分发和镜像同步等服务。

分享给小伙伴们:
本文标签:

更多文章

相关文章

评论

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

  • 蛮便宜
  • 抠门网
  • Copyright © 2002-2014 版权所有