一种基于容器集群的教育服务架构系统的制作方法

文档序号:19216380发布日期:2019-11-26 01:43阅读:283来源:国知局
一种基于容器集群的教育服务架构系统的制作方法

本发明涉及一种云计算存储技术领域,尤其涉及一种基于容器集群的教育服务架构系统。



背景技术:

目前,大数据时代59%的数据都是无效数据、70%的数据过于复杂、85%的企业数据架构无法适应数据量和复杂性增长的需求、98%的企业无法及时准确地为业务提供正确的信息。如今,大数据挑战和机遇并存,大数据服务平台建设正经历着由简单到复杂、由单一到多元、由局部到整体的全方位一体化的发展过程。目前支撑教育服务的云数据中心往往存在以下挑战:1、难以在短时间内启动大规模计算资源来应对大量分布式教学计算节点的需求;2、弹性计算性价比低,每个虚拟机需要消耗大量额外的系统资源,在批处理为主的离线分析中,这些资源更是大部分时间都处于闲置状态。



技术实现要素:

为了克服现有技术的不足,本发明的目的在于提供一种基于容器集群的教育服务架构系统,其能在短时间内启动大规模计算资源来应对大量分布式教学计算节点的需求。

本发明的目的采用如下技术方案实现:

一种基于容器集群的教育服务架构系统,包括由下至上依次连接的:物理资源层、操作系统层、资源管理层和教学应用层;各层之间通过分布式协调管理器zookeeper来进行协作与通讯管理;所述教学应用层提供服务器接口以为外部系统提供教学服务应用;

kubernetes作为框架集成到资源管理层中以获取底层物理资源,所述kubernetes用来管理容器集群中的教学应用服务;所述容器集群用于运行docker应用,所述教学应用服务封装于docker应用中,外部系统通过教学应用层来调取本架构系统中的教学应用服务。

进一步地,还包括日志管理系统elk,所述日志管理系统elk用于实现平台架构系统在生产环境中的日志收集、格式化、过滤、索引、查询。

进一步地,还包括容器调取框架层,所述容器调度框架层通过不断比较集群内的状态信息与实际集群环境是否一致,当发现集群的状态信息与实际状态不一致时,与容器集群节点的控制进程进行通信创建容器实例,使状态信息和实际环境重新一致。

进一步地,还包括高可用键值存储系统etcd,所述高可用键值存储系统etcd存储各种集群状态信息,由多个节点相互通信构成整体对外服务,每个节点均存储完整的数据,并通过raft协议保证每个节点维护的数据是一致的。

进一步地,所述容器调取框架层还用于给执行如下步骤:虚拟dns负责在etcd存储中查找主机名对应ip,并将ip分配给容器使用,并通过网络扩展组件实现容器的跨主机通讯。

进一步地,所述架构系统在大规模生产部署时,采用ansible配置管理工具,实现数据处理平台的一键式安装和删除。

进一步地,所述ansible配置管理工具还包括对组件版本的升级及回退,以及生产环境的批量配置修改。

进一步地,所述docker应用通过如下步骤构建实现:

通过编写dockerfile文件构建hadoop大数据集群自动化部署相关的docker镜像,包括server端镜像和agent端镜像;利用server端镜像启动一个server容器,利用agent端镜像启动多个agent端,由server端对多个agent端进行统一管理,同时在server容器中启动web应用;建立一个由server端、多agent端和web端组成的分布式架构,自动化启动部署hadoop相关大数据集群的服务。

进一步地,所述分布式协调管理器zookeeper用于保存平台架构系统的非业务性元数据,并动态的通知对应的订阅者。

进一步地,所述教学应用层包括学校各类业务应用系统和公共服务平台。

相比现有技术,本发明的有益效果在于:

本发明的基于容器集群的教育服务架构系统能够实现快速部署、秒级停起学校各类服务应用和公共服务平台,支持多种服务的集群部署、负载均衡、灾难恢复和弹性伸缩。

附图说明

图1为本发明的基于容器集群的教育服务架构系统的结构图;

图2为容器调度的工作机制的原理示意图;

图3为虚拟dns工作机制的原理示意图;

图4为虚拟网络工作机制的具体原理示意图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。

当前高校、高职等其信息中心特点是规模较小,对传统云管平台需求不敏感,相对于面向虚拟机的iaas云平台,容器云平台不依赖下层设施,面向应用,无论是何种规模的信息中心,都适合实施容器云,并可以由此获得技术运营的运维能力的提升。所有运行在容器云中的应用都可以自带应用级别的弹性伸缩、滚动升级、失败迁移、负载均衡、高可用等paas级功能。

如图1所示,本实施例提供了一种基于容器集群的教育服务架构系统,其特征在于,包括由下至上依次连接的:物理资源层、操作系统层、资源管理层和教学应用层;各层之间通过分布式协调管理器zookeeper来进行协作与通讯管理;所述教学应用层提供服务器接口以为外部系统提供教学服务应用;所述教学应用层包括学校各类业务应用系统和公共服务平台。

kubernetes作为框架集成到资源管理层中以获取底层物理资源,所述kubernetes来管理容器集群中的教学应用服务;所述容器集群用于运行docker应用,所述教学应用服务封装于docker应用中,外部系统通过教学应用层来调取本架构系统中的教学应用服务。系统以kubernetes作为引擎,以实现对docker集群的管理。系统各组件均服务化,并在服务注册组件eureka中注册。各组件的发布方式是可运行java软件包,无需在服务器中预装tomcat等中间件。所述docker应用通过如下步骤构建实现:通过编写dockerfile文件构建hadoop大数据集群自动化部署相关的docker镜像,包括server端镜像和agent端镜像;利用server端镜像启动一个server容器,利用agent端镜像启动多个agent端,由server端对多个agent端进行统一管理,同时在server容器中启动web应用;建立一个由server端、多agent端和web端组成的分布式架构,自动化启动部署hadoop相关大数据集群的服务。

本实施例的系统还包括日志管理系统elk,所述日志管理系统elk用于实现平台架构系统在生产环境中的日志收集、格式化、过滤、索引、查询。所述架构系统在大规模生产部署时,采用ansible配置管理工具,实现数据处理平台的一键式安装和删除。还包括对组件版本的升级及回退,以及生产环境的批量配置修改等操作,简化了复杂的运维配置管理工作。

日志中包含了大量有价值的信息,它们无规律、非结构化地隐藏在分散的数据节点中,运维管理人员通过日志来分析、诊断问题、服务器响应效率及关键业务的变化。本实施例中提供了一个日志集中管理器,负责日志集中汇聚、日志格式化过滤、索引日志内容,快速返回查询结果,具有伸缩性,在各个环节都能够扩容,具有高可用性,在单一节点失效的情况下不影响使用,能通过图形界面查询,并出报表,很好地支持了elk工具集,即elasticsearch,logstash,kibana完成日志检索、分析、收集,可视化任务。

本实施例中的分布式协调管理器zookeeper支撑整个平台的协作与通信,承担全局锁的职责,同时要将平台的非业务性元数据保存起来,动态地通知到订阅者,在分布式情况下需要一个控制多任务之间的同步方法。需要满足名称服务、共享资源锁定分布式互斥、共享资源同步访问、配置管理、领导者选择。kubernetes支持zookeeper分布式程序协调服务,保持kubernetes多个master节点的数据状态一致性。这种模式不仅支持一部分类似大并发教育应用使用场景负载的能力也能让其他的分析系统可以收益于kubernetes支持细粒度资源分配,在运行高动态的业务负载时这将提升资源的使用和性能。

如图2所示,本实施例采用基于kubernetes建设的容器调度框架层来监控所有容器集群服务器的状态,对集群的性能起到了极大的缓冲作用,有效提高整个集群的吞吐量。所述容器调度框架层通过不断比较集群内的状态信息与实际集群环境是否一致,当发现集群的状态信息与实际状态不一致时,与容器集群节点的控制进程进行通信创建容器实例,使状态信息和实际环境重新一致。本实施例还包括高可用键值存储系统etcd,所述高可用键值存储系统etcd存储各种集群状态信息,由多个节点相互通信构成整体对外服务,每个节点均存储了完整的数据,并通过raft协议保证每个节点维护的数据是一致的。

如图3和图4所示,虚拟dns组件解决动态创建容器导致的ip不可预知,其负责监控集群中容器的创建情况,虚拟dns负责在etcd存储中查找主机名对应ip分配给容器使用,并通过网络扩展组件实现容器的跨主机通讯,容器网桥的tcp报文包装在一个带有路由信息的udp报文中,网络扩展组件通过路由信息把报文转发到目标物理主机,目标物理主机上的网络进程负责解包。把tcp报文转发到本机的容器网桥上,从而在不影响容器原有网络机制的情况下,实现容器的跨主机通讯。

该平台架构系统还具有如下优点:能对大数据计算资源进行统一管理和调度,为大数据应用提供弹性伸缩能力,实现大数据应用的云端一键部署和扩容;能解决在同一个集群内不同大数据框架之间的共享资源分配,完成了跨框架间的细粒度的资源共享;将不同的框架整合到统一的基础框架上,允许用户跨框架来管理集群资源,不仅可以增大资源是用来和吞吐量,提高平台的灵活性,而且还能实现更快的数据计算和资源的有效利用,可以大大降低基础架构的复杂性和提高其可靠性。

本实施例还具有如下优势:1、基于容器技术构建弹性伸缩的大数据应用环境。利用容器的快速创建、资源利用率高的特点,由其装载大数据的计算逻辑并由调度系统进行动态管理,取代原来在预置物理机或虚拟机作为计算节点的方式,为大数据处理提供弹性伸缩。

2、基于容器的大数据应用云端高效部署。大数据环境的依赖被封装在容器内部,研究人员只需提交或更新云端镜像仓库的镜像,就可以实现大数据应用环境的远程高效部署。

3、基于容器的大数据应用开发及运行管理。管理大数据应用从开发到运行的整个过程:构建源代码将应用打包成容器镜像、将容器部署到云端、镜像仓库管理、服务编排、平台对运行的容器及集群进行调度管理、支持负载均衡及数据卷等功能。

上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。

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