欢迎来到天天文库
浏览记录
ID:41694708
大小:236.22 KB
页数:13页
时间:2019-08-30
《基于Kubernetes和ker的云平台设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于Kubernetes和Docker的云平台设计李万鸿2016-2-25Kubernetes是Google推出的开源容器集群管理系统,基于Docker构建一个容器调度服务,为容器化的应用提供资源调度.部署运行.均衡容灾、服务注册.扩容缩容等功能,本质上可看作是基于容器技术的mini-PaaS平台,提取PaaS中的业务编排和管理模块而形成的。部署容器的过程中最大化利用资源是十分重要的,OpenStack.Docker和Kubernetes组合就可以完美的实现这一点。Kubernetes和Docker可以运行在物理机上,也可以运行在虚拟机上。提
2、供pass支撑,对项目的开发、测试、实施运行、运维都提供极大的便利,是目前最先进的技术,在国内外得到较多的采用,如google、阿里等。Kubernetes和Docker支持集群服务,自动负载均衡和提供高可靠的稳定服务。1分布式系统设计原则可伸缩性首先分布式系统一定是大规模的系统,有很好的Scalab订ity。出于成本的考虑,很多大规模的分布式系统一般采用廉价的PC服务器,而不是大型的高性能服务器。没有单点失效服务器在大规模使用中经常会遇到各种各样的问题,服务器的硬件不可能是高可靠的,比如Google的数据中心每天都会有大量的硬盘失效,所以分
3、布式系统一定要对硬件容错,保证没有任何的单点失效。在这种很不稳定、很不可靠的硬件计算环境下,搭建一个分布式系统提供高可靠服务,必须要通过软件来容错。分布式系统针对不允许有单点失效的要求有两方面的设计考虑,一种是服务类的企业级应用,每个服务后台实例都要有多个副本,一两台硬件故障不至于影响所有服务实例;另外一种数据存储的应用,每份数据也必须要有多个备份,保证即使某几个硬件坏掉了数据也不会丢失。高可靠性除了单点失效,还要保证高可靠性。在分布式环境下,针对企业级服务应用,要做负载均衡和服务发现来保证高可靠性;针对数据服务,为了做到高可靠性,首先要按照
4、某种算法来把整体数据分片(因为一台服务器装不下),然后按照同样的算法来进行分片查找。数据本地性再一个分布式设计理念是数据本地性,因为网络通信开销是分布式系统的瓶颈,要减少网络开销,应当让计算任务去找数据,而不是让数据去找计算。弹性伸缩服务根据用户的业务需求和策略,自动调整其弹性计算资源的管理服务,以最大限度的降低用户的成本。能够在用户业务增长或下降时自动调整云主机配f需要开发基于Kubernetes的Docker管理平台。还需要开发监控系统,准确及时发现并处理故障,保障平台运维的高效化和自动化,并利于优化平台及各个应用系统。基于Docker的
5、应用系统需要需要满足三个要求:1.由于Docker是无状态的,且会动态飘逸,因此不能存储会话,Session会话必须单独保存到Redis缓存,供应用系统共用O3.2.同样,Log文件需要远程集中存储,不能存在Docker.由于Docker的飘逸性,上传文件需要单独保存,不能使用NAS存储,需要使用Mongodb保存。公司现有系统迁移到Docker之前,必须从上面3个方面进行修Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱
6、机制,相互之间不会有任何接口(类似Iphone的App)o几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。2容器系统管理模块设计方案Internetkubecfg*usercommandsMinionMasterMinion云平台采用Kubernetes开发Docker管理平台,多个应用系统通过Docker形成集群,Kubernetes可以简单有效地管理各个集群。Kubernetes的基本单元是Pods,用来定义一组相关的Container。Kubernetes的优点是可以通过定义一个Re
7、plicationcontroller来将同一个模块部署到任意多个容器中,并且由Kubernetes自动管理。比如定义了一个ApachePod,通Replicationcontroller设置启动100个Replicas,系统就会在Pod创建后自动在所有可用的Minions中启动100个ApacheContainero并且轻松的是,当Container或者是所在的服务器不可用时,Kubernetes会自动通过启动新的Container来保持100个总数不变,这样管理一个大型系统变得轻松和简单。云平台采用Mesos实现任务管理,具体运行各个应用
8、系统,Mesos主要由四种组件组成,分别是Mesos-Master,Mesos-Save,Scheduler和Executor,各个组件之间采用了基于Protoca
此文档下载收益归作者所有