一种基于Mesos和YARN结合的DCOS云管理平台的制作方法

文档序号:17758383发布日期:2019-05-24 21:28阅读:257来源:国知局
一种基于Mesos和YARN结合的DCOS云管理平台的制作方法

本发明涉及一种高性能计算的大众化转换方法,特别涉及一种基于mesos和yarn结合的dcos云管理平台。



背景技术:

随着电网公司系统规模的不断增长,在传统架构基础上做业务增长及部署规划,不仅资源准备周期长,同时部署过程繁琐,无法如期满足业务活动需要,同时在传统架构上,结构各异的应用系统、分散的运维、复杂的部署模式,不仅加大了系统运维的难度,还使得it资源无法按需分配,造成资源的浪费。

传统企业在“互联网+”的背景下,it基础架构的发展要确保新技术的研究和应用与企业未来业务发展需要相一致。而今,云计算相关技术正在逐渐演化成熟。dcos为云计算技术和数据中心资源管理打开了新的视角,也能够为智能电网做好信息化技术储备。

dcos是数据中心操作系统,相对于传统的云计算概念来说,dcos打开了一个全新的视野,以操作系统的角度来看待和管理数据中心中的资源。操作系统核心解决资源协调(存储、计算、网络)、任务调度、日志管理、服务编排问题。将数据中心所有资源统一在操作系统纳管。但分布式的计算资源(多台计算、存储资源)还不像传统物理机,需要跨机器调度。因此dcos需要解决分布式调度,转移,弹性的问题,首要需要封装一个容易跨资源调度的任务封装方式。



技术实现要素:

发明的目的在于提供一种基于mesos和yarn结合的dcos云管理平台,本发明不仅让你在共享的集群中弹性的使用yarn,使得yarn比最初设计时更具活力和弹性。而且,它使得数据中心的运维团队在给yarn资源扩容时无需重新配置yarn集群,整个数据中心的扩容变得十分容易,本发明采用mesos和yarn主要结合hadoop大数据的相关任务进行调度,验证调度技术的复杂度,同时为将来dcos支持大数据相关运算和大数据任务提供技术支撑,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:

一种基于mesos和yarn结合的dcos云管理平台,mesos用来管理大数据集群的所有资源,mesos通过resourcesoffers分配资源,调度器将使用这些资源在mesos从服务器上运行任务,yarn用来安全的管理hadoop任务,mesos能够管理yarn的资源请求,dcos云管理平台基于mesos和yarn扩容,其中,

dcos云管理平台由应用管理、容器集群管理、镜像仓库管理、资源整合组件、企业安全管理系统和第三方对接集成组成,其中,

应用管理,dcos管理平台以容器化方式运行应用,轻松实现跨主机多实例高可用部署,采用策略化的应用运维方式,以及多种可触发方式的管理机制,并且提供了可供微调的restartpolicy和reschedulepolicy,而且对于不稳定应用,可以设置重启阀值,实现自动监控,主动修复,此外,可以在不间断用户访问的情况下,在应用多实例之间按顺序重启;

容器集群管理,dcos管理平台在添加集群主机或网络存储资源时,设定标签;在部署应用时,设定调度规则,确定容器与主机之间的联系;根据dockerswarm规则在主机之间智能调度容器;采用灵活多样的调度规则,可设置主机标签、区域或容器,将容器在全集群分散部署;

镜像仓库管理,dcos内置可缓存registry,其中,应用以yml标准文件为基础模板,实现模板化应用一键部署,通过友好的引导流程,实现轻松自主定制应用模板,采用ssh接口,一键进入容器,采用控制台命令行操作,轻松调试应用程序,一键完成宿主机与容器的文件传输,上传/下载无需繁琐命令,并且集成了主流开发工具和构建工具;

资源整合组件,dcos实现在同一个界面,同时管理容器和虚拟机资源,同时管理容器化应用和虚拟机内的传统应用,避免多头管理,管理混合式分布应用,一部分在容器,一部分在虚拟机,对oracle、sap等重型应用实现差异化管理,可以接入vmware,openstack和aws;

企业安全管理系统,dcos支持多租户模式,并且具有团队与空间设定,可以实现基于群组的应用隔离,此外,针对企业安全需求,dcos提供了五级用户权限,保证平台安全性,便于管理;

第三方对接集成,dcos能够轻松对接第三方监控平台,实现监控日志的统一集中处理,在应用与容器的监控面板提供了图表形式的监控,可实时查看处理器、内存、网络、存储的数据,应用与容器的日志面板提供日志查看,便捷查看日志信息,此外,还需支持自动监控并检测容器主机状态,并提供故障预警功能,支持便捷可视化监控查看主机性能和实时数据。

进一步地,dcos云管理平台还包括dcos资源管理模块、dcos监控管理模块、dcos弹性伸缩调度模块、统一日志和监控中心、持续集成平台、运维管理模块、dcos集成及应用方案。

进一步地,dcos资源管理模块包括应用编排、网络管理、主机管理和存储管理。

进一步地,dcos监控管理模块包括权限管理和监控与日志。

进一步地,dcos弹性伸缩调度模块包括弹性伸缩和负载均衡。

进一步地,统一日志和监控中心包括微服务运维管理。

进一步地,持续集成平台包括应用部署、应用模板和镜像管理。

进一步地,运维管理模块包括模块中心、配置管理、运行维护管理、容灾方案设计。

进一步地,dcos集成及应用方案包括4a系统集成、移动应用平台应用方案。

进一步地,yarn可以看做是mapreduce的升级版本,将jobtracker的资源管理和任务调度分为两个独立的组件:scheduler和applicationsmanager。

与现有技术相比,本发明的有益效果是:本发明提出的基于mesos和yarn结合的dcos云管理平台,本发明一方面使用mesos来管理大数据集群的所有资源,另一方面使用yarn来安全的管理hadoop任务,当一个任务到达yarn时,它会通过调度器调度它,使请求与mesos提供的资源匹配。相应的,mesos也会将它传递给mesos工作节点。在mesos资源启动yarn节点管理器,启动之后,mesos资源会告诉yarn资源管理器哪些资源可用。不仅让可以在共享的集群中弹性的使用yarn,使得yarn比最初设计时更具活力和弹性。而且,它使得数据中心的运维团队在给yarn资源扩容时无需重新配置yarn集群。整个数据中心的扩容变得十分容易,本发明采用mesos和yarn主要结合hadoop大数据的相关任务进行调度,验证调度技术的复杂度,同时为将来dcos支持大数据相关运算和大数据任务提供技术支撑。

附图说明

图1为本发明的dcos平台总体架构图;

图2为本发明的dcos管理平台的应用架构图;

图3为本发明的基于dcos的网络方案整体架构图;

图4为本发明的自动伸缩的架构图;

图5为本发明的dcos负载均衡方案整体架构图;

图6为本发明的dcos的日志管理方案架构如图;

图7为本发明的镜像仓库部署架构图;

图8为本发明的容器的封装标准-容器镜像图;

图9为本发明的4a系统集成原理图;

图10为本发明的移动应用平台架构图;

图11为本发明的具体实施内容图;

图12为本发明的mesos主从服务器调度资源的顺序图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种基于mesos和yarn结合的dcos云管理平台,meso决定了那些资源可用,把分配请求返回给一个应用调度器(应用调度器和执行器被称作“框架”)。这些分配请求被框架接受或者拒绝。mesos允许任何实现任何调度算法,每个算法都能根据自己的策略进行接收或是拒绝分配请求,并且可以容纳成千上万种调度程序以多租户的方式运行在同一个集群,mesos的两级调度模型允许每个框架(自己)决定使用哪种算法来调度运行的工作。mesos扮演仲裁者,在多个调度器上来调度资源,解决冲突,并且确保资源基于业务策略被公平地分发。分配请求到来时,框架会执行任务来消费那些提供的资源。或者框架可以选择拒绝请求并且等待下一个分配请求。这种模型的好处在于它具有良好的扩展性。

当job请求到达yarn资源管理器,yarn评估所有可用的资源然后调度job。yarn以一种整体的方式,直接决定job运行的位置。为了调度hadoop任务,yarn进行了优化(过去一贯的hadoop任务是持续一段时间的批处理任务)。这意味着yran既不是为长时间运行的服务而设计,也不是为满足短期交互/快速响应式请求(像简短而快速的spark任务),尽管它可能调度其他种类的工作任务,但这并不是一个理想的模型。mapreduce的资源需求、执行模型和架构需求不同于长时间运行的服务。同时,yarn为了易于无状态的脚本任务重启而设计。它并不能处理像分布式文件系统或数据库那样的有状态的服务。

本发明一方面使用mesos来管理大数据集群的所有资源,另一方面使用yarn来安全的管理hadoop任务,既是一个mesos框架,又是一个yarn调度器,这就使得mesos能够管理yarn的资源请求。当一个任务到达yarn时,它会通过调度器调度它,使请求与mesos提供的资源匹配。相应的,mesos也会将它传递给mesos工作节点。之后,这个mesos节点会把这个请求与一个正在执行yarn节点的管理器的执行器关联。在mesos资源启动yarn节点管理器,启动之后,mesos资源会告诉yarn资源管理器哪些资源可用。这时候yarn就可以随意地使用这些资源。

这种做法的优点是,它不仅让你在共享的集群中弹性的使用yarn,使得yarn比最初设计时更具活力和弹性。而且,它使得数据中心的运维团队在给yarn资源扩容时无需重新配置yarn集群。整个数据中心的扩容变得十分容易。该模型提供了一种简单的方式运行和管理多个yarn的实现,甚至在同一个集群上运行多个不同版本的yarn。

dcos云管理平台由应用管理、容器集群管理、镜像仓库管理、资源整合组件、企业安全管理系统和第三方对接集成组成,同时,通过云平台的开放restapi接口,还可以将现有的周边系统接入云平台,供平台及应用使用,dcos平台总体架构如图1,其中,应用管理,dcos管理平台以容器化方式运行应用,轻松实现跨主机多实例高可用部署,采用策略化的应用运维方式,以及多种可触发方式的管理机制,并且提供了可供微调的restartpolicy和reschedulepolicy,而且对于不稳定应用,可以设置重启阀值,实现自动监控,主动修复,此外,可以在不间断用户访问的情况下,在应用多实例之间按顺序重启。dcos管理平台的此项特性让应用运维更加简单,避免了人工重启,或被动处理应用故障,解决了dcos管理平台本身因为内存泄漏、代码故障等导致的稳定性问题,实现了高可用和负载均衡相结合,极大降低了企业的配置管理成本,使产品具备了自动化能力。几乎适用于所有应用,特别是nodejs等常见的内存泄漏顽症。对于基础设施提供ha能力,降低了开发和运维成本。

容器集群管理,dcos管理平台在添加集群主机或网络存储资源时,设定标签;在部署应用时,设定调度规则,确定容器与主机之间的联系;根据dockerswarm规则在主机之间智能调度容器;采用灵活多样的调度规则,可设置主机标签、区域或容器,拥有多种容器部策略如binpack、spread、random等等;将容器在全集群分散部署;dcos的此项特性通过合理设置调度区域,实现了较为复杂的平台内调度逻辑,利用多部门资产管理,对应容器内业务应用与底层资源的明确关系。将交互密切的容器调度在一起,提升了性能,共享文件和io,可以同时管理多种异构设备(如gpu,ssd),并调度管理,实现跨地域的调度策略,并且可以设置主机为维护节点,实现灵活的硬件维护和更换。

镜像仓库管理,dcos内置可缓存registry,其中,应用以yml标准文件为基础模板,实现模板化应用一键部署,通过友好的引导流程,实现轻松自主定制应用模板,采用ssh接口,一键进入容器,采用控制台命令行操作,轻松调试应用程序,一键完成宿主机与容器的文件传输,上传/下载无需繁琐命令,并且集成了主流开发工具和构建工具;dcos的该项特性实现了docker镜像的高速加载,避免了重复下载和带宽浪费。实现快速精确定位应用bug;提高了应用开发速度,提高了代码质量。完美地接入持续集成、持续部署流程。

资源整合组件,dcos实现在同一个界面,同时管理容器和虚拟机资源,同时管理容器化应用和虚拟机内的传统应用,避免多头管理,管理混合式分布应用,一部分在容器,一部分在虚拟机,对oracle、sap等重型应用实现差异化管理,可以接入vmware,openstack和aws;dcos的该项特性为用户提供了更多选择,将服务灵活地部署在容器或者是虚拟机之上,大大降低了管理复杂度和迁移成本,实现渐进式过渡;通过统一管理容器和虚拟机,兼容现有软硬件资产投入;实现iaas层和paas层的统一管理,降低系统运维复杂性。

企业安全管理系统,dcos支持多租户模式,并且具有团队与空间设定,可以实现基于群组的应用隔离,此外,针对企业安全需求,dcos提供了五级用户权限,保证平台安全性,便于管理;dcos完善的权限系统保证企业信息安全,并且实现了组织间团队的协作。

第三方对接集成,dcos能够轻松对接第三方监控平台,实现监控日志的统一集中处理,在应用与容器的监控面板提供了图表形式的监控,可实时查看处理器、内存、网络、存储的数据,应用与容器的日志面板提供日志查看,便捷查看日志信息,此外,还需支持自动监控并检测容器主机状态,并提供故障预警功能,支持便捷可视化监控查看主机性能和实时数据。dcos同时定制化对接南方电网的4a系统,实现dcos和4a系统支持用户及组织机构同步,dcos管理平台中的用户及组织机构信息与4a保持一致性。dcos管理平台通过4a进行单点登录。

模块和开发者中心,dcos管理平台提供模块商店,支持多种模块以扩展dcos管理平台的功能。包括监控工具、存储系统、容器工具、持续集成、公有云、负载均衡、日志管理、硬件管理、虚拟化平台、web服务器10类模块,提供手动和自动化一键部署能力。

dcos管理平台的应用架构如图2所示,用户可以在普通x86服务器上快速创建dcos容器集群管理平台,产品对硬件无特殊要求,支持各类物理机、虚拟机和云主机,适配主流linux发行版,支持windows系统平台,可与vsphere、openstack、云平台api实现自动化部署,支持超融合设备,无缝对接各类存储和网络基础架构,实现集群管理版本平滑升级,不影响平台数据且无需重启容器主机。dcos以容器化方式运行应用,轻松实现跨主机多实例高可用部署,采用策略化的应用运维方式,以及多种可触发方式的管理机制,并且提供了可供微调的restartpolicy和reschedulepolicy,而且对于不稳定应用,可以设置重启阀值,实现自动监控,主动修复,此外,可以在不间断用户访问的情况下,在应用多实例之间按顺序重启。

dcos云管理平台还包括dcos资源管理模块、dcos监控管理模块、dcos弹性伸缩调度模块、统一日志和监控中心、持续集成平台、运维管理模块、dcos集成及应用方案。

dcos资源管理模块包括应用编排、网络管理、主机管理和存储管理,其中,

应用编排

dcos提供了应用可视化编排部署的相关管理功能,包括拓扑可视化、组件可视化、配置可视化等核心功能。在此基础之上,dcos还提供了f5、数据库、dns、软件负载均衡等常见平台组件及服务的封装功能,实现组件的配置管理、可视化编排支持等功能。

dcos支持的编排功能有:

应用模板管理与认证:应用模板管理功能支持应用模板新建、删除、修改等操作。同时dcos提供了更为丰富的应用模板管理能力,比如批量上传应用模板、添加/修改模板变量、展示和修改应用模板描述信息、展示模板与相关应用的关联情况、提供从模板部署应用的向导、支持模板分类和搜索。模板功能还支持验证公有/私有模板,并且支持模板权限配置,设定访问权限。

应用编排管理:dcos的应用编排管理功能较为丰富。不仅支持与数据库、f5等周边系统混编,还支持更为完善的应用编排管理能力,比如支持dockercomposev1/v2编排标准、支持图形化展示编排、同时编排基础设施资源、支持编排时指定日志策略/调度策略、支持图形化修改和维护编排。

应用配置管理:dcos可以为应用编排设置应用程序日志、应用端口等配置信息。

容器信息查询:dcos支持用户以应用系统为维度,查看应用中容器名称、软件版本、配置信息、所属应用、所属宿主机、运行状态等信息。同时dcos根据企业级用户的需求,展示更多可用信息,包括镜像层级信息、镜像改动记录、容器内进程信息、容器网络信息、容器存储信息、应用/容器操作审计日志信息、应用可视化拓扑以及编排信息等。

容器操作功能:在编排功能下,dcos提供了常用的应用容器操作功能,包括启动、停止、创建、删除等。并且dcos为了方便企业级用户的操作,额外提供了更为丰富的容器操作功能,包括从容器内下载文件、向容器上传文件、支持打开容器内部shell控制台、支持从容器一键制作新镜像、重启容器、暂停以及恢复容器、在不中断容器内业务服务的情况下修改容器资源配额。

负载均衡展示:dcos提供内置负载均衡,并能够展示应用整体负载情况,同时dcos可对接f5等外部负载均衡系统或设备,并且支持提供应用级别的负载均衡,应对微服务架构。

服务到容器的自动负载分发:dcos负载均衡默认采用linux内核中的lvs技术,相对于其他软件负载性能较高,并且负载均衡可以配置ssl证书,当服务的容器扩展后,负载均衡可以自动发现后端服务变化并自动适配,负载均衡可提供多种负载策略,可以通过环境变量进行配置,具备会话保持的功能。

版本管理/灰度发布:针对企业级发布应用的场景,dcos支持应用版本升级时对各集群进行灰度升级,保证业务的不间断运行,同事dcos还支持更高级的灰度发布选项,比如设定并行发布实例数、设置发布失败后的错误处理机制、配置发布时旧版本实例优雅下线策略。

网络管理

dcos完全支持docker的标准容器网络模型(containernetworkmodel,简称cnm),只要符合cnm模型的网络插件都可以被dcos接入用于管理容器间网络通信。dcos目前产品内置支持的网络技术包括:bridge本地网络、overlay虚拟网络、macvlan网络、ipvlan网络,同时可以通过插件支持contiv、kuryr和weave。基于dcos的网络方案整体架构如图3。

dcos与docker原生网络解决方案

dcos平台支持所有docker原生网络方案,包括bridge、host、macvlan、overlay等。

bridge网络模式:bridge网络提供单主机内容器间网络通信,在同一台主机内使用bridge模式的容器可以相互通信,但无法跨主机通信。

host网络模式:host网络模式可以通过映射端口的形式通过访问宿主机的映射端口访问主机内容器。可以使用host网络模式进行跨主机通信。

overlay网络模式:overlay网络模式为容器集群提供一个全局的虚拟网络,基于该网络容器可以在集群中的各节点进行迁移。

主机管理

可以兼容企业数据中心网络里主流的x86物理服务器设备,虚拟机技术(vmware,xen,kvm等)以及私有云环境(openstack等)。并且支持虚拟化+容器双引擎管理(支持虚拟机和容器统一管理,支持vsphere,aws和openstack控制面板。

存储管理

可以兼容企业数据中心网络里存在的多种存储技术,传统集中式存储架构和分布式存储架构。兼容国内外主流存储设备。能够支持本地本地存储卷挂在和外部存储卷挂在两种模式,同时提供对持久卷的集中管理的能力。支持docker原生存储能力,灵活接入包括nas/nfs/gluster在内的多种存储扩展方案。支持通过图形化界面创建和管理容器数据卷。支持容器数据快照备份和数据保护。根据实际应用容器化的存储需求进行存储sizing。为容器的数据提供一个高可靠,高性能的存储服务。

dcos监控管理模块包括权限管理和监控与日志,其中,

权限管理

dcos管理平台支持五级角色控制权限(以下顺序权限由高到低):

管理员:对任意的资源拥有任何权限。除了对容器、网络、存储等资源有完全控制权限外,对组织、用户等同样拥有最高权限。另外,对整个dcos管理平台系统环境拥有完备的配置管理权限。

普通权限:除了组织、用户、dcos管理平台配置权限外,对dcos管理平台管辖内的任意资源有完整权限,包括:创建,重启,删除,查看容器、网络、存储等。这是管理员之外的最高权限。

受限权限:在全控制权限的基础上,受到部分的限制。比如容器的privilige权限授予,宿主机文件的挂载,以及其他一些特殊的敏感操作。

仅查看权限:面对资源,只有查看的权限,并不更新权限。

无权限:对资源或者平台没有任何权限。

dcos管理平台除了为个人用户设置不同权限之外,也支持为团队设置权限,为团队成员的权限管理提供了便利。您可以在dcos管理平台中创建团队、邀请成员加入团队和删除团队等操作。dcos管理平台支持多租户管理,为租户分配cpu和内存资源配额,可为租户分配许可团队。支持租户sla设置,可设置专属主机或者主机集群。

监控与日志

在集群管理中,经常需要查看集群状态、集群中的容器状态和集群中的网络状态等,通过查看这些信息能快速判断当前容器集群是否正常运行,同时,也可以在发生错误时进行错误定位。这里,将向用户介绍如何使用dcos管理平台控制台查看各类集群状态信息,以及如何使用dcos管理平台运维套件手动查看各类集群状态信息。

查看集群状态,用户可以浏览器访问dcos管理平台主控节点进入dcos管理平台控制台。在这里,用户能够查看到集群整体状态。用户可以看到当前容器集群部署的应用,容器,用户网络和存储卷。还可以看到,当前容器集群已经接入的主机。在系统信息栏,我们还能看到容器集群控制器的相关信息,如集群是否健康、控制器所在主机的ip地址。

查看日志,在容器集群的运行过程中,会发生大量的事件,dcos管理平台通过日志记录了集群运行的相关信息。通过查看日志,能够快速完成故障定位、状态查看等操作。dcos管理平台控制台提供了容器日志和应用日志,分别通过容器页面和应用页面查看。应用日志记录了应用运行时的日志,包含与应用相关的每个容器的日志、以及拉取镜像等事件的日志。

应用资源监控,dcos提供了监控应用资源占用情况的功能,可以监控应用的cpu、内存、网络和存储资源的占用情况。

应用审计日志,dcos审计日志记录了应用的每一次操作,包括创建应用、更新应用、启动应用等。

系统告警

系统告警:根据设置的告警策略,会产生相应的告警,可以在dcos监控中心中查看。

知悉已触发的告警:在dcos中知悉告警后,告警既不会清除也不会重置。知悉告警可以让其他用户了解到您正着手解决此问题。

重置已触发的告警:在dcos中重置告警后,会将该告警置为已解决状态,当再次触发该告警时,会重新发送邮件给指定邮件收件人。

设置告警:dcos提供设置邮件收件人和告警策略的功能。

启用与警用告警策略:dcos预置了一组告警策略,根据需要可以启用或禁用相应的告警策略。

指定邮件收件人:dcos支持配置告警邮件收件人,当产生告警或告警状态发生变化时,会发送邮件通知邮件收件人。(需要预先配置了邮件服务器,才能设置邮件收件人)

dcos弹性伸缩调度模块包括弹性伸缩和负载均衡,其中,

弹性伸缩,是根据不同的业务需求与策略,自动调整应用的弹性计算资源,最终达到优化资源组合的服务能力。通过自动伸缩和手动伸缩这两种工作模式,应用便能在无运维人员介入的情况下实现自动调整计算资源,当访问量上涨时增加计算能力,而当访问量下降时减小计算能力,既保障了系统的稳定性与高可用性,又节约了计算资源成本。

弹性伸缩在业界有两个方向,一个是垂直化的扩展(scaleup),一个水平化的扩展(scaleout)。从业务发展的角度来看应该是水平扩展的能力,这要求业务都是无状态的,通过负载均衡技术将访问请求分配到集群每一台机器上,不管是增加还是减少机器,业务的连续性都不应受到影响。

dcos的弹性伸缩策略,dcos同时支持自动伸缩和手动伸缩两种策略,自动伸缩方面,对于不同的应用,dcos通过平台内置的弹性伸缩引擎来灵活地提供弹性伸缩功能。目前,dcos的弹性伸缩策略支持从内存、cpu负载、线程池剩余线程数、会话数等维度来进行弹性扩缩容。自动伸缩的架构如图4。

相比较其他平台的弹性伸缩功能,dcos平台的弹性伸缩具备如下特点:

容器化部署,最高程度提高部署的灵活度。弹性伸缩作为dcos的一个模块,通过应用模板的方式容器化部署,可以做到针对每个服务提供不同的弹性伸缩策略而不会相互影响。

伸缩策略灵活且可定制化。弹性伸缩和应用紧密耦合,根据不同应用的特点和表现需要设定不同的弹性策略,dcos的弹性伸缩内置根据容器资源(cpu和内存使用情况)和中间件资源(tomcat的线程数和会话数),除此之外,用户可灵活设置应用特定的弹性策略如mysql数据库并发量、应用的网络连接数等。

开放接口,方便二次开发。dcos完全兼容docker原生api,同时还提供平台相应的二次开发api,dcos自动伸缩模块也是根据dcos的api进行开发而成。如用户需要根据平台进行深度二次定制开发,dcos弹性伸缩模块可以很好支持和对接。

伸缩资源广泛,粒度可调。dcos应用平台提供南向北向的集成,除容器管理功能外,dcos可以很好集成vmware和openstack实现对虚机的动态创建和管理。因此,根据应用的需求,dcos自动伸缩模块可以进行多个维度的动态伸缩。

负载均衡,dcos支持两种负载均衡方案:7层负载均衡和4层负载均衡,需要在不同的应用场景下选用不同的负载均衡方案。dcos负载均衡方案整体架构如图5所示。

统一日志和监控中心包括微服务运维管理,其中,

微服务运维管理,dcos通过与elk对接,实现了日志解决方案,elk可以在页面上配置收集日志的协议与端口,一般选用syslog的方式收集日志。docker提供了logdriver,可以将容器内主进程的日志信息发送,支持syslog、gelf、splunk等协议。dcos的日志管理方案架构如图6。

持续集成平台包括应用部署、应用模板和镜像管理,其中,

应用部署,dcos管理平台为用户提供了方便地应用部署方式,用户可以通过dcos管理平台安装、部署并管理所有的docker应用,包括私有云和公有云环境。

应用模板,dcos内置了定制化的应用商店,能够与saas和容器化生态对接。从而实现一键式部署容器应用。环境的应用和集群环境快速搭建。形成数据中心的数据库,内存对象,负载均衡,中间件服务,微服务支撑,持续集成服务,大数据服务、深度学习服务,消息队列服务等一共95种服务模板,常用的有tomcat,redis,mysql,mongodb,rabbitmq,nginx,haproxy,websphere,weblogic,hbase,storm,hive,dubbo,gitlab等。

用户也可将自己的容器化应用通过编排后放到应用商店中。支持应用模板下载,离线和批量导入。用户可以创建、编辑、查看、分类应用模板。dcos应用商店界面支持对应用模板进行搜索操作。

镜像管理,镜像仓库部署架构如图7,镜像仓库是容器软件安装部署的重要部分,在该部分的研究中会重点从以下几个方面展开:

镜像仓库的存储后端:目前支持的后端存储包括本地存储、awss3。

镜像仓库的权限控制:镜像仓库缺省是没有任何安全权限控制的,任何人都可以拉取和上传镜像,镜像的安全和版本控制很难控制,提供相应的镜像权限控制。

镜像仓库的部署形态:dcos镜像仓库以容器的方式部署。

容器的封装标准-容器镜像,如图8,容器镜像就是一个只读的模板,例如:一个容器镜像可以包含一个的ubuntu操作系统环境,里面仅安装了apache或用户需要的其它应用程序。容器引擎可以基于容器镜像来创建和运行容器。docker定义了一套标准的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。从整体的角度来讲,一个完整的docker镜像可以支撑一个docker容器的运行,在docker容器运行过程中主要提供文件系统视角。例如一个ubuntu:14.04的镜像,提供了一个基本的ubuntu:14.04的发行版,当然此镜像是不包含操作系统linux内核的。

运维管理模块包括模块中心、配置管理、运行维护管理、容灾方案设计,其中,

模块中心,dcos模块是由第三方提供的增强dcos功能的组件。每一个模块都是一个功能完整且独立的docker镜像。模块让更多的人能参与到dcos的开发中,从而实现容器无处不在的理想。

配置管理

定制化外观

dcos支持自定义外观,可在dcos图形界面灵活定制平台外观,包括平台显示名称。登录页图标,导航栏图标,浏览器图标,可打开或关闭登录页动画效果等。提供个性化的界面。

集群调度参数

dcos图形化界面可配各种集群参数,例如各节点接入令牌参数、部署应用默认参数(包括资源和端口推荐)、集群调度参数(保留历史任务数,心跳间隔,证书超时时间)、一致性算法参数和集群高可用

api密钥

dcos在安全中心中提供密钥管理功能,用于访问开放api和持续发布。可创建accesskey、secretkey等参数。

运行维护管理

快速部署与升级:

dcos平台为容器化交付,通过导入dcos容器镜像完成离线安装。在docker环境中只需一条命令即可完成dcos管理节点部署。其余节点扩容同样通过一条接入命令即可完成。在升级新版本时候,在dcos管理界面上提供一键升级按钮完成集群平台升级。

故障排除:

可在dcos节点上一键dump日志和dcos系统信息。

安全访问:

dcos通过https加密访问,在dcos的设置界面中可以配置和管理ssl私钥,ssl证书。同时也可以选择开关来关闭https访问改为http访问。

dcos集成及应用方案包括4a系统集成、移动应用平台应用方案,其中,

4a系统集成

操作系统涉及到资源管理、任务分配。因此还需要有响应的用户及权限认证模块。目前采用了4a技术平台作为用户/鉴权的统一技术平台,因此dcos设计时,用户和鉴权需要与4a平台进行集成。由于在技术层级上,4a技术平台是应用层面内容,因此集成方式不同于传统的4a集成。而是需要底层集成(管理平台不集成,即不需要从4a登录dcos管理控制台),原理如图9。

移动应用平台应用方案

移动应用平台架构如图10,从图中可见,移动应用平台涉及到了移动前置服务的云化管理。需要调度云化资源,满足移动应用的资源需求,同时需要进行任务在这些资源上的调度。图中云化管理层的部署、监控、弹性调度正是对数据中心资源进行调度的内容。

本发明利用dcos更加强大的资源调度管理能力,为移动平台带来更强的管控能力。dcos能够成为移动前置数据中心的管理层,为移动应用平台提供弹性调度能力。具体实施内容如图11:移动前置数据中心主要验证dcos资源管理能力、弹性调度能力。应用的范围明确,即在增加了dcos管理后,是否能够有效支持(或加强)移动应用平台对资源的管理和分配需求(即dcos提供的接口,是否能够应用于目前移动应用平台目前的管理模块功能)。

mesos通过"resourcesoffers"分配资源,资源其实是当前可用资源的一个快照,调度器将使用这些资源在mesos从服务器上运行任务。

mesos主从服务器调度资源的顺序如图12,首先由mesos主服务器查询可用资源给调度器,第二步调度器向主服务器发出加载任务,主服务器再传达给从服务器,从服务器向执行器命令加载任务执行,执行器执行任务以后,将状态反馈上报给从服务器,最终告知调度器。虽然messos也是一个通用的调度框架,但就目前业界路线分析来看,messos调度docker相对引入了较多的第三方技术,例如持续任务执行的marathon,集群负载均衡的haproxy,分布式协调zookeeper,可以认为messos调度是一个开源技术群,虽然messos支持多种框架调度,但是从技术路线上来看,dcos调度更多针对的是资源封装单元(docker),引入更多的开源技术,增加了架构复杂度,目前也没有特定业务的调度需要使用messos来进行,因此本发明,仅仅将messos调度的框架,限定于大数据相关任务。

大数据mapreduce框架的工作流程如下;用户提交一个job,job的信息会发送到jobtracker中,jobtracker是map-reduce框架的中心,需要与集群中的机器定时通讯(hearbeat),需要管理那些程序应该跑在那些机器上,需要管理所有job失败、重启等操作。

tasktracker是map-reduce集群中每台机器都有的一个部分,作用主要是监视自己所在机器的资源情况,tasktracker同时监控当前机器的tasks运行情况。tasktracker需要把这些信息通过hearbeat发送给jobtracker,jobtracker会搜集这些信息已给新提交的job分配运行在那些机器上。上述可以看到,jobtracker在hadoop体系中既要分配资源,又要管理应用程序,又要处理异常,一旦jobtracker宕机出现单点故障,整个集群就要崩掉,这对生产环节来说就是灾难。jobtracker承担了太多的负担,也占用了很大的系统资源。并且在tasktracker端,以map/reducetask的数据作为资源的表示过于简单,没有考虑到cpu/mem的占用情况,如果两个大内存消耗的task被调度到了一块,很容易出现oom。而且把资源强制划分为maptaskslot和reducetaskslot,如果当系统中只有maptask或者只有reducetask的时候,会变成资源的浪费,也就是出现集群资源利用的问题。yarn可以看做是mapreduce的升级版本,将jobtracker的资源管理和任务调度/监控分为两个独立的组件:scheduler和applicationsmanager,原框架中核心的jobtracker和tasktracker不见了,取而代之的是resourcemanager、applicationmaster与nodemanager三部分。所以yarn的调度在hadoop大数据体系上,具有更加明显的优势。为了增强dcos的适应性,同时也为了验证messos这种调度框架的能力,项目中将messos用来结合hadoop来完成大数据任务的调度支持。利用插件方式,提供messos调度hadoop能力,支持hadoop的job执行,以此验证messos和yarn的调度能力和技术细节。

简单来说,mesos就是选择调度框架,复杂度增加。而yarn则是自动选择框架的调度方式,无论是否合适。由于本发明主要是针对dcos本身的开发和实施,因此需要研究的是资源的调度方式,本发明将messos和yarn纳入研究和集成范围。

综上所述,本发明提出的基于mesos和yarn结合的dcos云管理平台,本发明一方面使用mesos来管理大数据集群的所有资源,另一方面使用yarn来安全的管理hadoop任务,当一个任务到达yarn时,它会通过调度器调度它,使请求与mesos提供的资源匹配。相应的,mesos也会将它传递给mesos工作节点。之后,这个mesos节点会把这个请求与一个正在执行yarn节点的管理器的执行器关联。在mesos资源启动yarn节点管理器,启动之后,mesos资源会告诉yarn资源管理器哪些资源可用。这时候yarn就可以随意地使用这些资源。不仅可以在共享的集群中弹性的使用yarn,使得yarn比最初设计时更具活力和弹性。而且,它使得数据中心的运维团队在给yarn资源扩容时无需重新配置yarn集群。整个数据中心的扩容变得十分容易,本发明采用mesos和yarn主要结合hadoop大数据的相关任务进行调度,验证调度技术的复杂度,同时为将来dcos支持大数据相关运算和大数据任务提供技术支撑。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1