一种基于Kubernetes的容器云架构及其各模块之间的交互方法技术

技术编号:15706567 阅读:94 留言:0更新日期:2017-06-26 20:31
本发明专利技术公开了一种基于Kubernetes的容器云架构,包括处理器,还包括分别与处理器连接的镜像构建模块、数据仓库模块、负载均衡模块、服务发现模块和容器监控模块,其中镜像构建模块,用于提供镜像文件制作、存储和分发服务;数据仓库模块,用于存储和处理集群中数据库的数据信息;负载均衡模块,用于对Kubernetes集群中的各个计算节点进行负载均衡;服务发现模块,用于获取Kuberntes集群中各计算节点动态变化的信息;容器监控模块,用于采集和显示Kubernetes集群各计算节点运行状态的信息。本发明专利技术可以方便的应用于需要高可用性及扩展性的容器系统。

A container Cloud Architecture Based on Kubernetes and interaction method among modules

The invention discloses a container Cloud Architecture Based on Kubernetes, including the processor also includes a mirror respectively connected with the processor of the construction module, data warehouse module, load balancing module, service discovery module and container monitoring module, the image building blocks for providing image file production, storage and distribution services; data warehouse module for database storage and processing data in the cluster; load balancing module, for each computing node in the Kubernetes cluster load balancing; service discovery module is used to obtain the dynamic changes of each computing node in the Kuberntes cluster information; container monitoring module for collecting and displaying Kubernetes cluster each computing node operation status information. The invention can be conveniently applied to a container system requiring high availability and expandability.

【技术实现步骤摘要】
一种基于Kubernetes的容器云架构及其各模块之间的交互方法
本专利技术涉及云计算技术和容器领域,尤其涉及一种基于Kubernetes的容器云架构及其各模块之间的交互方法。
技术介绍
随着移动互联网的迅猛发展,网民人数和上网时长急剧增长,网站的后台架构也在不断的变化以应对日益庞大的访问需求。服务器架构的设计,从最初将Web服务和数据库服务等所有服务署到一台物理服务器上,到后来的数据库服务与Web服务分离,从而提高服务器的性能与安全性,进而到使用负载均衡技术将负载分摊到多台服务器上以减少单台服务器的压力,到最近的自动伸缩方式,通过对现有服务器集群的CPU和内存等指标进行监控,根据访问需求以及制定的伸缩策略,自动增加和移除服务器节点。与传统的手工增删节点相比,这种方式响应快,运维成本小,稳定性高。然而,使用传统服务器和云计算技术实现自动伸缩架构有很多问题,导致自动伸缩方式一直没有广泛应用。首先,将业务模块部署到服务器所需时间较长,而移动互联网应用要求业务模块必须快速迭代上线,业务模块的频繁部署和更新会浪费大量的人力物力。与此同时,对于海量访问请求,传统服务器或云计算架构无法快速启动新的服务节点,导致访问延迟甚至系统崩溃。因为传统云计算技术的架构基本都采用虚拟机方式,在一些细分领域,其固有缺陷导致应用效果不尽如人意。近年来,随着云计算技术的流行和相关技术的快速发展,云计算技术基础架构的实现不仅仅局限于虚拟机一种选择。
技术实现思路
本专利技术的目的在于克服现有技术的缺点与不足,提供一种基于Kubernetes的容器云架构,可以方便的应用于需要高可用性及扩展性的容器系统。本专利技术的另一目的在于提供一种基于Kubernetes的容器云架构的各模块之间的交互方法。本专利技术的目的通过以下的技术方案实现:一种基于Kubernetes的容器云架构,包括镜像构建模块、数据仓库模块、负载均衡模块、服务发现模块和容器监控模块,还包括分别与镜像构建模块、数据仓库模块、负载均衡模块、服务发现模块、容器监控模块连接的服务器模块,其中镜像构建模块,用于提供镜像文件制作、存储和分发服务;数据仓库模块,用于存储和处理集群中数据库的数据信息;负载均衡模块,用于对Kubernetes集群中的各个计算节点进行负载均衡;服务发现模块,用于获取Kuberntes集群中各计算节点动态变化的信息;容器监控模块,用于采集和显示Kubernetes集群各计算节点运行状态的信息。所述镜像构建模块为Docker私有库模块,并使用Dockerfile打包技术和Kubernetes文件编排模板。所述数据仓库模块采用hadoop节点处理Mysql和MongoDB数据。所述负载均衡模块采用Nginx-Plus代理工具。所述服务发现模块采用Etcd存储系统。所述服务器模块采用CentOS操作系统。本专利技术的另一目的通过以下的技术方案实现:一种基于Kubernetes的容器云架构的各模块之间的交互方法,包含以下步骤:(1)代码更新:开发人员将新的代码镜像上传到镜像构建模块中,运维人员从镜像构建模块中下载新的镜像并加载运行;(2)负载均衡:请求端发出请求,负载均衡模块将接收到的请求根据负载平衡策略分摊至任一计算节点;计算节点处理请求,并将结果返回至负载均衡模块,负载均衡模块将响应结果返回至请求端;(3)服务发现:当添加新的计算节点时,会向服务发现模块注册新增计算节点信息;移除计算节点时,首先通知负载均衡模块移除该计算节点,然后从服务发现模块中移除该计算节点的相关信息;(4)容器监控:将各服务器模块中运行的监控模块作为从节点,容器监控模块作为主节点,从节点周期性的向主节点发送所在服务器模块的指标数据,主节点接收各从节点的指标数据并绘制成图形,显示在系统监控模块所在的主机浏览器上;(5)数据处理:将hadoop运行在Kubernetes集群中,处理容器应用中获取的海量MongoDB和Mysql数据,以便达到容器系统的数据有效性和可分析性。本专利技术与现有技术相比,具有如下优点和有益效果:1、LXC容器技术因其启动速度快、性能佳等特点,逐渐在云计算领域中占有一席之地。在这之中,Docker是一个开源的应用容器引擎,让开发者可以打包应用以及依赖包到一个可移植的容器中,然后发布到Linux机器上。容器使用沙箱机制,相互之间不会有任何接口,可以很容易地在主机和数据中心中运行。本专利技术所采用的Kubernetes作为一种管理轻量级容器Docker的引擎,可以方便快速的创建容器并进行容器的全生命周期管理,使得容器技术的普及更进一步。Kubernetes容器集群管理系统的主要功能包括:使用Docker对应用程序进行打包、实例化及运行;以集群的方式运行及管理跨主机的容器;解决位于不同主机之间所运行的容器之间的通信问题等等。再进一步,Kubernetes作为最早的基于Docker的容器调度方案之一,通过成熟的系统架构和强大的横向扩容能力,有望成为最成功的容器调度方案,并服务于未来云计算领域。2、本专利技术可以方便的应用于需要高可用性及扩展性的容器系统,同时实现如下功能:(1)监控CentOS服务器及其运行Docker容器的运行状况;(2)根据监控数据利用Kubernetes技术动态伸缩集群;(3)通过构建Docker私有Registry仓库和制定作业管理策略,实现Docker镜像的持续集成,不需重启容器便可更新业务。附图说明图1为本专利技术所述一种基于Kubernetes的容器云架构的结构示意图。图2为图1所述容器云架构的镜像构建模块的运行过程架构图。图3为图1所述容器云架构的负载均衡模块的运行过程架构图。图4为图1所述容器云架构的服务发现模块的运行过程架构图。图5为图1所述容器云架构的容器监控模块的运行过程架构图。附图中各部件的标记如下:1-镜像构建模块,2-负载均衡模块,3-服务发现模块,4-容器监控模块。具体实施方式下面结合实施例及附图对本专利技术作进一步详细的描述,但本专利技术的实施方式不限于此。如图1至图5,具体如下:(一)镜像自动部署实现方法所述镜像构建模块1用于提供一种从开发到部署以及关于作业定义的镜像构建策略,主要支持镜像与源代码自动化结合方法,比较适合于业务更新时对容器镜像的及时更新。镜像构建的流程步骤如图2所示,详细步骤如下:(1)代码提交开发人员将各种语言编程的代码提交到版本管理仓库,在本专利技术中,以SVN为版本管理工具,该工具适用于团队合作的项目开发流程中保证代码的一致性。(2)定义作业与此同时,运维人员编写适合项目的Docker镜像打包文件Dockerfile和基于Kubernetes的yaml文件,严格按照Dockerfile编写规则和yaml文件编排规则,创建对应的容器运行规则。(3)构建镜像文件根据CI/CD自动化部署流程,以(1)中源代码和(2)中Dockerfile文件为基础,创建容器的image镜像文件,并推送到私有Docker镜像仓库。(4)运行镜像文件根据(3)中的镜像文件和(2)中的yaml文件,在Kubernetes中以合理编排的方式运行镜像文件。上述步骤提供了镜像的存储和运行服务,镜像仓库使用Docker推荐的私有库安装方式,解决了作业定义与源代码相结合的问题。(二)容本文档来自技高网...
一种基于Kubernetes的容器云架构及其各模块之间的交互方法

【技术保护点】
一种基于Kubernetes的容器云架构,其特征在于:包括镜像构建模块、数据仓库模块、负载均衡模块、服务发现模块和容器监控模块,还包括分别与镜像构建模块、数据仓库模块、负载均衡模块、服务发现模块、容器监控模块连接的服务器模块,其中镜像构建模块,用于提供镜像文件制作、存储和分发服务;数据仓库模块,用于存储和处理集群中数据库的数据信息;负载均衡模块,用于对Kubernetes集群中的各个计算节点进行负载均衡;服务发现模块,用于获取Kuberntes集群中各计算节点动态变化的信息;容器监控模块,用于采集和显示Kubernetes集群各计算节点运行状态的信息。

【技术特征摘要】
1.一种基于Kubernetes的容器云架构,其特征在于:包括镜像构建模块、数据仓库模块、负载均衡模块、服务发现模块和容器监控模块,还包括分别与镜像构建模块、数据仓库模块、负载均衡模块、服务发现模块、容器监控模块连接的服务器模块,其中镜像构建模块,用于提供镜像文件制作、存储和分发服务;数据仓库模块,用于存储和处理集群中数据库的数据信息;负载均衡模块,用于对Kubernetes集群中的各个计算节点进行负载均衡;服务发现模块,用于获取Kuberntes集群中各计算节点动态变化的信息;容器监控模块,用于采集和显示Kubernetes集群各计算节点运行状态的信息。2.根据权利要求1所述基于Kubernetes的容器云架构,其特征在于:所述镜像构建模块为Docker私有库模块,并使用Dockerfile打包技术和Kubernetes文件编排模板。3.根据权利要求1所述基于Kubernetes的容器云架构,其特征在于:所述数据仓库模块采用hadoop节点处理Mysql和MongoDB数据。4.根据权利要求1所述基于Kubernetes的容器云架构,其特征在于:所述负载均衡模块采用Nginx-Plus代理工具。5.根据权利要求1所述基于Kubernetes的容器云架构,其特征在于:所述服...

【专利技术属性】
技术研发人员:陆璐涂逸欣
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1