基于Docker的CaaS容器云平台架构设计

云舒网络 9年前

前言

在移动互联网时代,企业需要寻找新的软件交付流程和IT架构,从而实现架构平台化,交付持续化,业务服务化。容器将成为新一代应用的标准交付件,容器云将帮助企业用户构建研发流程和云平台基础设施,缩短应用向云端交付的周期,降低运营门槛。加速企业向互联网技术和业务的双转型。“容器时代”的到来无疑为整个IT界带来了福音,今天我们就跟大家一起看看它的新宠——CaaS容器云。

本文来源:http://www.cloudsoar.com/about/BlogNews/content/0/143/v1.1/

概述


在开始讲述它的架构之前我们先看看IaaS、PaaS、SaaS与CaaS的区别和联系:



关于IaaS、PaaS、SaaS有很多文章已经有了详解,这里不再赘述。我们重点来看看CaaS:

CaaS(容器即服务)——相对于IaaS和PaaS服务,CaaS对底层的支持比PaaS更灵活,而对上层应用的操控又比IaaS更容易。CaaS是以容器为核心的,它介于IaaS和PaaS之间,起到了屏蔽底层系统IaaS,支撑并丰富上层应用平台PaaS的作用。将底层的IaaS封装成一个大的资源池,我们只要把自己的应用部署到这个资源池中,不再需要关心资源的申请、管理,以及与业务开发无关的事情。

 CaaS云平台技术架构

技术关键字解析


集群框架——容器集群管理及编排系统。 


代码持续集成——完全自动化的代码管理,包括源代码存储、编译、连接、测试、发布整个创建过程都应该自动完成。 


多租户管理——实现多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间资源的隔离性。


跨主机集群——可以将本地云平台内部容器资源,平台外部的客户自有容器资源,及各种第三方公有云容器资源结合到一起形成混合容器云资源模式。


镜像仓库——提供本地公有/私有镜像仓库,提供第三方镜像仓库或DockerHub镜像资源集成。


应用编排服务——使容器之间能够通信、彼此可以传递运行期,同时管理多个容器的行为。当容器集群共同构建应用架构时,需要考虑集群环境中的容器,哪些端口需要暴露、哪些卷需要挂载等信息。 


专属主机——即从本地云平台中提供给用户的专属虚拟主机环境用于构建容器集群应用。 


APaaS服务——基于PaaS之上的公有中间层SDK开发组件或API调用接口,及公有APaaS服务平台。例:用户统一身份认证组件,APP的消息推送组件,公有消息队列平台等。 


容器管控——对容器进行CPU/内存资源配置,SSH或控制台容器接入,网络配置,环境变量设置,数据卷挂接,资源监控,日志管控,事件记录,二级域名或自有域名分配等功能。 


数据卷或云盘——基于云平台的数据存储工具。主要用于容器间数据共享,或某容器的外接数据卷进行数据持久化存储。



CaaS云平台功能模块



详解


本地镜像仓库——创建本地镜像仓库,为平台提供自有镜像资源支持。内容包括本地镜像仓库搭建,本地镜像文件基础管理(版本,描述,指南,后期制作/调试),DockerHub或第三方镜像仓库挂接。 


容器基础功能——容器是平台中最小计算单元,针对容器的基础管理功能。包括镜像/容器配置,容器生命期管理(启动,停止,删除),容器资源配置(CPU,内存,磁盘),容器参数设置(执行命令,接入点),端口映射配置(直联端口,内联方式,负载均衡端口),环境变量设置,容器信息显示,容器日志管理,容器资源监控(CPU,内存,带宽)等。 


容器服务管理——容器服务是指通过启动基于一个镜像文件的多个容器共同完成某应用的负载均衡功能,比如启动多个Tomcat容器做某Web应用的服务端负载均衡场景。又分为服务分类管理(应用,数据,工具,磁盘),服务生命期管理(启动,停止,删除),多容器弹性伸缩配置(自动,手动CPU/内存阈值),多容器负载均衡,服务间链接管理,服务日志管理。 


容器应用管理——容器应用是由多个容器服务共同完成用户业务目标的架构。比如某业务架构的容器应用为(Ngnix服务+Tomcat服务+MySql服务+数据卷服务。涵盖了应用生命期管理(启动,停止,删除),应用编排,应用基本信息管理,应用域名管理(二级域名,自有域名),应用资源监控(CPU,内存,带宽),应用事件描述。 


主机集群管理(域管理)——主机域包括本地平台主机集群环境,第三方公有云主机集群接入,用户私有主机接入等。分为主机生命期管理(接入,退出),第三方公有云主机管理,域资源监控(CPU,内存,带宽)。 


数据卷管理——数据卷是在宿主机上存在的特殊用途目录,为了完成某些容器数据持久化,荣期间数据共享等功能,还可以作为用户云盘使用。有数据卷生命期管理(创建,配置,删除)和数据卷信息显示两类。 


租户管理——接入平台的用户个人属性管理。包含账户及套餐管理,个人信息管理。 


用户域及Dashboard功能——本平台内全部资源共同集合成公有域,而在本平台内的租户只能管控自己私有域中的资源,所以要对平台进行逻辑分层,至少分为公有域和用户私有域两层。而对层级的划分后,会涉及到以上各功能点的用户私有域表现。 


持续集成——为了实现代码持续集成的能力,需要挂接公共代码仓库(GITHub,GITCafe)、公共代码库API接口调用(用户身份认证/授权,项目/代码接入,持续集成事件回调)等。 


APaaS服务工厂管理——APP消息推送服务,用户统一认证服务,公共消息平台,健康监控平台等APaaS服务管理。


注:本文资料来源于网络,由云舒网络整理发布。


更多容器相关资料查阅


博客期刊:

http://www.cloudsoar.com/about/newsBlog/1/v1.1/


网页下载:

http://www.cloudsoar.com/down/ddoc/v1.1/


百度云盘下载:

http://pan.baidu.com/s/1jHfP9Dc




温馨提示:


云舒网络 http://www.cloudsoar.com 携手Rancher Labs推出【Rancher | 实战微信群】,在线为您分享Docker技术干货,更有往期回顾精选期刊等你拿!

 

本群汇集了Rancher中国最强技术精英团队及业内技术派高人,宗旨是为了大家拥有更专业的平台交流Rancher实战技术,实时与Rancher创始团队面对面!同时欢迎各位分享自己的经验、疑难问题,我们将定期邀请分享嘉宾做各类话题分享及回顾,共同实践研究Docker容器生态圈。

 

对Rancher和Docker技术感兴趣、或对本文中细节需继续探讨的朋友,欢迎加入本群参与讨论! 


加微信群方法

  1.关注【云舒网络】公众号

  2.留言”我要加群” 

QQ群号:216521218