容器云平台核心技术问题攻关.docx

? ? ? ? ? ? ? 容器云平台核心技术问题攻关 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 目 录 TOC \o 1-3 \h \z \u 容器云平台核心技术问题攻关 1 1 前言 3 2 容器云平台的技术评估 3 3 容器引擎docker的核心功能 5 4 容器引擎docker的核心技术 5 1 前言 云计算是目前主流的IT技术,云计算提供的应用弹性伸缩和快速部署的能力是互联网的关键能力,受到互联网企业以及传统数字化转型企业的欢迎。在云计算的实践过程中,通过不断的总结经验,业界提出了“云原生应用”的概念。云原生应用就是通过一整套的设计理念,打造基于云计算环境的最佳应用实践。在云原生应用中,容器平台扮演这重要的角色。通过容器提供的轻量级运行环境和标准化交付能力,实现应用的重复、一致性交付、部署、运维,实现需求的快速交付。 目前很多企业都在打造自己的私有容器云平台,在这个过程中也曾经遇到很多问题,通过解决这些问题和事后分析,总结了一些经验以及想法。其本章节中,容器云平台是以docker+kubernetes为代表的通用性容器云平台,在《容器云平台架构分析》章节中,我们通过平台构成、总体架构、网络架构、功能架构四个方面进行架构的分解,同时对容器引擎docker和编排引擎kubernetes进行较为详细的阐述。在本章节中,以容器云平台的需求评估为出发点,围绕docker和kubernetes的关键技术,对容器支持、内核版本、网络选型、存储选型的核心技术进行阐述。 2 容器云平台的技术评估 容器云的技术选型是容器云平台建设的一个重要工作,容器技术经过几年的发展,涌现了多套解决方案。容器实现和容器编排管理是容器云平台的两项关键技术。容器技术方面有目前最流行的docker容器,pivotal主导的garden容器,开源社区维护的rocket容器等。在容器编排技术方面有google开源的kubernetes,docker企业版使用的swarm,cloudfoundry中提供的diego,apache的开源项目messos等,大部分的容器云厂商的容器云都可以支持不同的容器编排实现。因此在容器云平台建设之初,我们需要重点从以下两个方面进行评估。 2.1 所选的技术是否具备发展的前瞻性 云计算的基础设施,比以往的任何基础设施技术有着更快的技术迭代速度。非主流的技术会很快的被淘汰。选择的技术是否符合技术主流,是需要评估的一大重点。目前容器技术采用的基本上是基于开源技术的提供的解决方案,这些开源项目一般都受到几个大型it企业,比如国外的google,facebook国内的腾讯和阿里等企业的支持。对于容器平台的技术前景,目前主要是根据各大it厂商的支持和开源社区的热度进行评估。容器云平台的技术流派从目前看来,docker和kubernetes的解决方案,是最受业界认可的,所以本章节的容器云平台是以docker+kubernetes为代表的通用性容器云平台。docker是一个构建在lxc之上的,基于进程容器(process container)的轻量级vm解决方案。在lxc的基础上, docker额外提供的feature包括:标准统一的打包部署运行方案,历史版本控制,image的重用,image共享发布等等。kubernetes是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展。kubernetes不提供容器实现,而是将其他容器技术作为低级别组件。kubernetes不仅仅支持docker,还支持其他的容器技术。使用kubernetes可以: (1)自动化容器的部署和复制 (2)随时扩展或收缩容器规模 (3)将容器组织成组,并且提供容器间的负载均衡 (4)很容易地升级应用程序容器的新版本 (5)提供容器弹性。 kubernetes并不是唯一的容器编排引擎,其他的选择包括apache mesos,docker企业版本的swarm。 2.2 基础设施对接是否更为完善 在容器云的具体实施方案中,如何与底层基础设施进行对接也最重要的技术决策之一。容器云的底层基础设施方案主要有两种: (1)直接运行在物理设备之上,可以提供更好的应用性能,适合与对性能和带宽敏感的应用,如数据库和大数据应用。这种方案的最大问题是如何实现物理节点的自动化管理; (2)运行在虚拟层之上。将容器安装在虚拟机之上,可以提供更好的灵活性和可扩展性。由于我们建设容器云的目标就是支持创新业务的快速部署和弹性伸缩,所以采用虚拟层的方式,能够实现最大的灵活性和可伸缩性,同时可以更好的实现自动化运维。如果组织已经建成了基础设施即服务,在建设容器云服务时,需要考虑容器云平台与现有iaas平台的对接,对接包括

文档评论(0)

1亿VIP精品文档

相关文档