CN107547596A - 一种基于Docker的云平台控制方法及装置 - Google Patents

一种基于Docker的云平台控制方法及装置 Download PDF

Info

Publication number
CN107547596A
CN107547596A CN201610482515.9A CN201610482515A CN107547596A CN 107547596 A CN107547596 A CN 107547596A CN 201610482515 A CN201610482515 A CN 201610482515A CN 107547596 A CN107547596 A CN 107547596A
Authority
CN
China
Prior art keywords
main frame
application message
cloud platform
load information
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610482515.9A
Other languages
English (en)
Other versions
CN107547596B (zh
Inventor
童遥
彭勇
孙自广
蒋天超
申光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201610482515.9A priority Critical patent/CN107547596B/zh
Priority to PCT/CN2017/085626 priority patent/WO2018001004A1/zh
Publication of CN107547596A publication Critical patent/CN107547596A/zh
Application granted granted Critical
Publication of CN107547596B publication Critical patent/CN107547596B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Abstract

本发明实施例的基于Docker的云平台控制方法和装置,该方法包括接收用户输入的资源部署请求,当所述资源部署请求为动态调度请求时,根据所述资源部署请求获取所述云平台上各主机的负载信息以及需要调度的应用功能信息,根据预设的调度策略选择一个负载信息最低的主机,并在该主机上部署该应用信息的副本;通过根据各主机上的负载信息对应用信息进行重新部署,将应用信息从高负载的主机上调整至低负载的主机上,从而实现了对主机应用的扩展以及对云平台资源的合理分配,提高了云平台的可用性,实现了应用信息在不同运行环境下运行,解决了现有技术中应用信息只能在单一的运行环境下运行,导致兼容性不佳的问题。

Description

一种基于Docker的云平台控制方法及装置
技术领域
本发明涉及云计算数据中的云平台技术领域,尤其涉及一种基于Docker的云平台控制方法及装置。
背景技术
随着互联网技术不断深入人们的生活,各互联网公司竞相推出新的产品来满足现有用户需要求,吸引新的用户,云服务已经成为实践云计算的重点之一,它将应用运行所需的IT资源和基础设施以服务的方式提供给用户,包括了中间件服务,信息服务,连通性服务,整合服务和消息服务等多种服务形式。为实现平台服务,业界提出了平台即服务(Platform as a Services,以下简称PaaS)。通过PaaS平台,应用开发者可以很方便的把应用和服务托管在平台之上,而不用关心它们底层的硬件配置和运行环境等基础设施的设置。对开发者而言,PaaS极大程度上减少了IT部署的开销和痛苦,按需为应用程度提供资源,让其更易伸缩。在开放PaaS云计算平台的推动下,开发者可以专注于应用创新,而不用关心运行环境等繁琐的事务,这样互联网上的应用必将日益丰富。
目前,Google和新浪互联网公司已推出自己的PaaS云平台,Google推出了GoogleApp Engine(GAE)云服务,为应用开发者提供了一个开发简单、部署方便、伸缩快捷的Web应用运行和管理平台,新浪推出的Sina App Engine(SAE)是一个分布式Web服务开发、运行平台,作为国内首个公有PaaS云平台,SAE选择的是在国内最流行的Web开发语言PHP作为其首选的支持语言,并提供了一系列的分布式存储、分布式缓存等基础能力供开发者使用。但是,上述新浪和Google所推出的PaaS云平台还是存在不足,就是对应用的运行环境单一,SAE在推出的初期只支持PHP应用,GAE只支持Java和Python应用,导致了用户在进行扩展时会出现兼容性的问题,不利于PaaS平台的快速扩张和通用性的要求,无法满足应用提供者对于能力的多样化需求,因此,提升平台的可用性和扩展性是当务之急。
发明内容
本发明实施例提供的基于Docker的云平台控制方法及装置,以解决现有技术中的PaaS云平台应用只能在特定的运行环境下运行,而导致PaaS平台无法实现快速扩张和通用性的技术问题,
为解决上述技术问题,本发明实施例提供一种基于Docker的平台控制方法,包括:
接收用户输入的资源部署请求;
当所述资源部署请求为动态调度请求时,根据所述资源部署请求获取所述云平台上各主机的负载信息以及需要调度的应用信息,所述应用信息为负载信息最高的主机上的应用信息;
根据预设的调度策略选择负载信息最低的主机,并将所述需要调度的应用信息的副本部署到该主机上。
一方面,本发明实施例还提供一种基于Docker的平台控制装置,包括:
接收模块,用于接收用户输入的资源部署请求;
获取模块,用于在所述资源部署请求为动态调度请求时,根据所述资源部署请求获取所述云平台上各主机的负载信息以及需要调度的应用信息,所述应用信息为负载信息最高的主机上的应用信息;
选择模块,用于根据预设的调度策略选择负载信息最低的主机;
资源调度模块,用于将所述需要调度的应用信息的副本部署到该主机上。
另一方面,本发明实施例还提供一种基于Docker的平台控制装置,包括:资源调度子单元和平台支单元;
所述平台支撑单元用于接收用户输入的资源部署请求;
所述资源调度单元用于在所述资源部署请求为动态调度请求时,根据所述云平台上各主机的负载信息选择负载信息最低的主机,并将需要调度的应用信息的副本部署在该主机上,所述应用信息为负载信息最高的主机上的应用信息。
本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行前述的基于Docker的平台控制方法。
本发明的有益效果是:
根据本发明实施例提供的基于Docker的云平台控制方法、装置以及计算机存储介质,该方法包括接收用户输入的资源部署请求,当所述资源部署请求为动态调度请求时,根据所述资源部署请求获取所述云平台上各主机的负载信息以及需要调度的应用功能信息,根据预设的调度策略选择一个负载信息最低的主机,并在该主机上部署该应用信息的副本;通过根据各主机上的负载信息对应用信息进行重新部署,将应用信息从高负载的主机上调整至低负载的主机上,从而实现了对主机应用的扩展以及对云平台资源的合理分配,提高了云平台的可用性;进一步的根据各主机的负载信息判断主机是否为低负载状态,若是,则将高负载状态的主机上需要调度的应用信息通过部署副本的形式将该应用信息调整至低负载的主机上,从而实现了应用信息在不同运行环境下运行,解决了现有技术中应用信息只能在单一的运行环境下运行,导致兼容性不佳的问题。
附图说明
图1为本发明第一实施例提供的基于Docker的云平台控制装置的结构示意图;
图2为本发明第一实施例提供的基于Docker的云平台控制装置的另一种结构示意图;
图3为本发明第一实施例提供的基于Docker的云平台控制装置的又一种结构示意图;
图4为本发明第二实施例提供的基于Docker的云平台控制方法的流程图。
具体实施方式
下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。
第一实施例:
为了实现应用信息能在PaaS云平台的不同容器对应的不同运行环境下进行运行,从而提高PaaS云平台的扩展性能和可用性,本发明实施例提供了一种基于Docker的云平台控制装置,该装置是基于Docker这种种开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可以移植的容器中,然后发布到任何流行的LINUX机器上,也可以实现虚拟化,从而实现PaaS云平台的扩展以及提高兼容性,请参见图1,图1为本实施例提供的基于Docker的云平台控制装置的结构示意图。
本实施提供的基于Docker的云平台控制装置1包括接收模块11、获取模块12、选择模块13和资源调度模块14,其中:
所述接收模块11用于接收用户输入的资源部署请求,其中所述资源部署请求包括初次调度请求和动态调度请求;
所述获取模块12用于在所述资源部署请求为动态调度请求时,根据所述资源部署请求获取所述云平台上各主机的负载信息以及需要调度的应用信息;
选择模块13用于根据预设的调度策略选择负载信息最低的主机;
资源调度模块14用于将所述需要调度的应用信息的副本部署到该主机上。
在本实施例中,用户通过PaaS云平台进行应用开发时,首先需要进行应用的基础设施进行创建,而创建应用的基础设施可以直接通过输入资源部署请求即可实现基础设施的创建或者配置,当所述接收模块11接收到的资源部署请求是初次调度请求时,则资源调度模块14根据所述资源部署请求获取主机上的物理服务器,并对所述物理服务器按照请求策略进行过滤,剔除主机上不可用的物理服务器,然后根据预设的调度策略为所述主机进行资源的分配。
在本实施例中,当所述资源部署请求为动态调度请求时,获取模块12根据所述资源部署请求获取云平台上各主机的负载信息,该负载信息可以是主机的可用的物理服务器,也可以是设置于物理服务器上的容器的应用信息,选择模块13根据负载信息选择出负载信息最低的和最高的,然后将负载信息最高的主机中的应用部署到负载信息最低的主机上。具体的是,将应用的副本部署到负载信息最低的主机上的容器中,通过容器来执行该应用的副本,从而实现应用的调度。
由于云平台上的各个主机的运行环境不相同,将应用信息调度到其他主机上后可能会出现无法兼容运行的问题,针对该问题,本实施例提供的云平台控制装置1还设置了通用容器15,该通用容器15是Docker容器,其可以根据部署请求自动创建提供对应的应用运行基础设施和IT资源,不需要用户再人为的重新部署,具体的该通用容器15根据不同的请求对容器进行封装,封装出多种不同的Web容器,比如Docker-Jetty、Docker-Tomcat、Docker-PHP5等。
要实现将调度后的应用正确地在调度后的主机上的运行,除了进行容器的提供之外,还需要将应用信息的路由指向从原来的指向调整至指向调度后的容器上,具体的,本实施例在云平台控制装置1上设置了路由单元16,该路由单元16用于对所有接收到的调度请求进行路由,将应用与容器之间的IP对应关系进行重新的调整。
在本实施例中,如图2所示,为本实施例提供的基于Docker的云平台控制装置1的另一种结构示意图,该装置包括平台支撑单元21和资源调度单元22,所述平台支撑单元21用于接收用户输入的资源部署请求,资调度单元22用于在所述资源部署请求为动态调度请求时,根据所述云平台上各主机的负载信息选择负载信息最低的主机,并将需要调度的应用信息的副本部署在该主机上。
在本实施例中,所述负载信息包括容器的负载信息;所述资源调度单元22用于根据所述预设的调度策略从所述主机上的选择负载信息最低的容器,并在该容器上部署所述应用信息的副本。
如图2所示,本实施例提供的云平台控制装置1还包括路由控制单元23和通用容器24;
所述通用容器24用于在所述主机上设置用于运行所述应用信息的副本的通用容器,所述通用容器为包括至少一种编程语言运行环境的互联网容器;
所述路由控制单元23用于在所述资源调度单元部署所述应用信息的副本之后,将所述应用信息的路由指向调整所述应用信息的副本对应的容器上。
在本实施例中,在根据云平台上各主机的负载信息进行应用的调度,资源调度单元22还包括根据获取的所述云平台上主机的负载信息判断是否都处于高负载状态,若是,则发送告警信息;若不是,则将负载信息较低的主机上的应用信息部署到其他主机上,并删除该主机上的应用信息。
在本实施例中,图2中的各个模块之间还可以通过设置消息总线的形式进行相互通信,其具体连接关系如图3所示。
如图3所示,平台支撑单元21在接收请求之外,还为云平台提供一些基础模块,对云平台提供一些基础能力的支持,比如设置API Server 211(Application ProgrammingInterface Server,服务器应用程序接口),将API Server 211作为整个装置对外的接口,通过该接口接收请求以及将接收到的请求发送至资源调度单元22上,并且服务器应用程序接口211通过抽象出restful的HTTP接口而将其暴露在装置上,方便用户对该接口的调用来实现请求的接收和合理的资源分配;此外,还平台支撑单元21还设置有Memcached,提供不同容器之间的session共享,Cache提供一个高性能的分布式对象缓存服务,Mysql提供原生的关系型数据库,Freedisk提供小文件存储的服务。
在本实施例中,资源调度单元22作为云平台的资源调度核心,主要是用于根据请求对云平台所提供的IT资源和基础设施进行合理的分配,具体是来就是将用于运行应用的容器部署于主机上操作,在本实施例中,该资源部署请求包括初次调度请求和动态调度请求,所述初次调度请求为用户第一次创建应用时对云平台中的资源的调度,主要包括资源的创建、删除、修改等操作,创建是指为新增加的应用设置对应的运行环境基础设施和分配IT资源;删除是指将容器收缩,在将负载信息较低的容器中的应用调度到其他容器上后,对原来的容器进行删除;修改是指根据调度请求为容器重新分配IT资源等其他资源。
所述动态调度请求为在系统运行过程中的调度,针对在运行过程中某些负载过高、过低的主机或容器进行的调度,主要是通过监控应用的状态和容器的状态,根据监控的实际情况对应用进行扩容或者缩容等操作。
在实际应用中,资源调度单元22具体包括初次资源调度器221、动态资源调度器222和节点代理223,其中,
初次资源调度器221实现所有初次资源操作请求的中转和协调,实现方式是分为两步,第一步先取出所有的物理服务器,针对不同的请求策略使用不同的filter(过滤器)来过滤物理服务器,得到可用的服务器列表,这一步的目的是保证主机的可用性。第二步是引入权重和打分概念,初次资源调度器通过不同的权重计算每个主机的得分,然后按照主机的得分从高到低排序,并把应用部署多个副本(默认是2个)到得分高的主机上。
动态资源调度器222实现动态调度,动态的增加、减少应用后端容器的数量。动态资源调度器获取到主机的负载信息和Docker容器的负载信息后,按如下策略完成应用副本扩充:根据相应的调度策略选择负载最低的主机,在该主机上部署此应用的副本,同时向路由子系统发送请求,请求修改路由的指向,使得新加入的应用副本可接收请求,从而实现负载均衡。当集群中所有主机都接近于高负载状态时,将停止应用副本的扩充,并向管理员发出告警邮件。同理,若发现某应用的所有副本的平均访问量过低,则按一定策略进行应用副本的收缩,此外,在副本扩充和收缩的过程中,添加定期碎片整理,在保证同一应用的多个副本分布在不同主机的前提下,尽量将分散的应用汇集到部分主机上。
节点代理223一方面作为驻留进程运行在每个计算节点上,周期性的向初次资源调度器上报心跳数据,心跳数据包含CPU利用率、内存使用率和硬盘剩余空间等信息。另一方面适配底层的Docker容器,并获取其上每个容器的负载数据,包括CPU占用率、内存使用率、硬盘读写状态等。
如图3所示,本实施例提供的路由单元24包括软件路由器241(App Router)、Nginx控制器242(Ngnix Controller)和Tengine,其中:
软件路由器241是PaaS云平台路由的核心控制组件,确定需要对某主机上的应用进行调度后,以及设置完容器后,需要对应用的路由指向进行调整,而该组件则是负责维护一份包含所有应用路由策略的路由表,并根据特定的任务调度算法控制Nginx以完成对应用访问请求的路由,实现上述功能该路由主要是分两步进行,第一步是根据路由请求从外部域名到内部临时域名的路由,也即是外部IP到主机的IP地址以及主机再到物理服务器的IP,第二步是内部临时域名到容器的路由,也即是从物理服务器IP到容器IP,提供内部临时域名还可以用于方便应用开发者在提交应用之后对应用进行再次检查确认,从而实现多个应用副本间的负载均衡、健康检查、会话粘滞等功能。
在本实施例中,软件路由器241在进行路由之前,还包括对请求进行合法性的判断,判断合法之后再次判断是否需要更新路由表,如果需要则通知Ngnix Controller进行路由表的更新操作。
Nginx控制器242在收到软件路由器241的更新路由信息的通知后,从数据库中加载最新的路由信息,并通过Java的Velocity技术生成对应的配置文件,替换当前Nginx的配置文件并重启Nginx,从而使得路由信息及时生效。
Tengine在Nginx的基础上,针对大访问量网站的需求,添加了高级功能和特性,比如一致性hash、会话保持、健康检查,根据服务器状态自动上线下线等。
如图3所示,在本实施例中,所述通用容器23用于为应用设置运行环境容器,该通用容器23根据不同的请求进行不同的部署分配,根据应用对应的编写语言以及兼容的语言重新封装Web容器,例如,Java应用只能在Java容器上运行,通过通用容器23来实现快速封装提供对应的容器,提高了PaaS平台的兼容性能。
本实施例提供的通用容器23具体的可以抽象出两层,分别为适配层和容器层,适配层一方面可以作为驻留结点(即是节点代理)采集主机负载等信息,另一方面可以适配底层的容器,容器层则是在Docker Api的基础上封装出不同的web容器,比如Docker-Jetty、Docker-Tomcat、Docker-PHP5等。为了方便平台管理者快速发布、删除容器,本发明实施例还的引入Image Server(镜像服务器)这个集中式镜像管理模块,方便的发布、替换、删除镜像。
本发明实施例提供的基于Docker的云平台控制装置,通过接收模块接收用户输入的资源部署请求,当该资源部署请求为动态调度请求时,获取模块根据资源部署请求获取云平台各主机的负载信息,选择模块根据预设的调度策略选择负载信息最低的主机,并在该主机上部署应用信息的副本,通过将负载信息最高的主机上的应用信息部署到负载信息最低的主机上,使得应用信息可以在多个主机之间进行调度,实现了云平台的扩展和可用性,提同时也提高了对云平台资源的利用率。
进一步的,本发明实施例还调度后的应用信息提供对应的互联网容器,使得应用信息在调度后可进行正常的运行,解决了现有技术中PaaS云平台应用只能在特定的主机上运行环境下运行,而导致兼容性较低的问题,该通用容器可以实现多种编程语言的容器封装,为不同的应用信息提供对应的容器,从而提高了PaaS云平台的兼容性和扩展性。
第二实施例:
请参见图4,图4为本实施例提供的基于Docker的云平台控制方法,该Docker是一种开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可以移植的容器中,然后发布到任何流行的LINUX机器上,也可以实现虚拟化,该控制处理流程具体包括如下步骤:
S402,接收用户输入的资源部署请求;
在该步骤中,云平台控制装置接收到的资源部署请求包括初次调度请求或动态调度请求,当用户第一次进行应用创建时,其接收到的请求应当为初次调度请求,云平台控制装置应当根据初次调度请求来为应用分配IT资源和设置基础设施,具体的分为两步进行实现,第一步先取出所有的物理服务器,针对不同的请求策略使用不同的filter(过滤器)来过滤物理服务器,得到可用的服务器列表,这一步的目的是保证主机的可用性。第二步是引入权重和打分概念,Resource Schedule通过不同的权重计算每个主机的得分,然后按照主机的得分从高到低排序,并把应用部署多个副本(默认是2个)到得分高的主机上。
S404,当所述资源部署请求为动态调度请求时,根据所述资源部署请求获取所述云平台上各主机的负载信息以及需要调度的应用信息,所述应用信息为负载信息最高的主机上的应用信息;
当接收的是动态调度请求时,云平台控制装置应当根据请求对主机进行动态的增加、减少应用后端容器的数量。获取到主机的负载信息和Docker应用容器的负载信息后,按如下策略完成应用副本扩充:根据预设的调度策略选择负载最低的主机,在该主机上部署此应用的副本,同时向路由单元发送请求,请求修改路由的指向,使得新加入的应用副本可接收请求,从而实现负载均衡。当集群中所有主机都接近于高负载状态时,将停止应用副本的扩充,并向管理员发出告警邮件。同理,若发现某应用的所有副本的平均访问量过低,则按一定策略进行应用副本的收缩,此外,在副本扩充和收缩的过程中,添加定期碎片整理,在保证同一应用的多个副本分布在不同主机的前提下,尽量将分散的应用汇集到部分主机上。
S406,根据预设的调度策略选择负载信息最低的主机,并将所述需要调度的应用信息的副本部署到该主机上。
在本实施例中,云平台控制装置获取到的所述负载信息具体可以为容器的负载信息,这里的负载信息可以理解为应用信息;根据所述预设的调度策略从所述主机上的选择负载信息最低的容器,并在该容器上部署所述应用信息的副本。
云平台控制装置获取到的所述负载信息具体还可以主机上的物理服务器的负载信息,这里的负载信息可以理解为应用容器;根据所述预设的调度策略从所述主机上的选择负载信息最低的物理服务器,并在该物理服务器上部署所述应用信息的副本。
在本实施例中,在将所述需要调度的应用信息的副本部署到该主机上之后,还包括:在所述主机上设置用于运行所述应用信息的副本的通用容器,并发送路由请求将所述应用信息路由指向调整至所述应用信息的副本对应的容器上,所述通用容器为包括至少一种编程语言运行环境的互联网容器,使得调度后的应用能正常运行,从而实现了PaaS云平台的不同应用与容器之间的兼容。
综上所述,本发明实施例提供的基于Docker的云平台控制方法和装置,该方法包括接收用户输入的资源部署请求,当所述资源部署请求为动态调度请求时,根据所述资源部署请求获取所述云平台上各主机的负载信息以及需要调度的应用功能信息,根据预设的调度策略选择一个负载信息最低的主机,并在该主机上部署该应用信息的副本;通过根据各主机上的负载信息对应用信息进行重新部署,将应用信息从高负载的主机上调整至低负载的主机上,从而实现了对主机应用的扩展以及对云平台资源的合理分配,提高了云平台的可用性,实现了应用信息在不同运行环境下运行,解决了现有技术中应用信息只能在单一的运行环境下运行,导致兼容性不佳的问题。
显然,本领域的技术人员应该明白,上述本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种基于Docker的云平台控制方法,包括:
接收用户输入的资源部署请求;
当所述资源部署请求为动态调度请求时,根据所述资源部署请求获取所述云平台上各主机的负载信息以及需要调度的应用信息,所述应用信息为负载信息最高的主机上的应用信息;
根据预设的调度策略选择负载信息最低的主机,并将所述需要调度的应用信息的副本部署到该主机上。
2.根据权利要求1所述的基于Docker的云平台控制方法,其特征在于,所述负载信息包括容器的负载信息;根据所述预设的调度策略从所述主机上的选择负载信息最低的容器,并在该容器上部署所述应用信息的副本。
3.根据权利要求2所述的基于Docker的云平台控制方法,其特征在于,在将所述需要调度的应用信息的副本部署到该主机上之后,还包括:在所述主机上设置用于运行所述应用信息的副本的通用容器,并发送路由请求将所述应用信息路由指向调整至所述应用信息的副本对应的容器上,所述通用容器为包括至少一种编程语言运行环境的互联网容器。
4.根据权利要求1至3任一项所述基于Docker的云平台控制方法,其特征在于,在接收用户输入的资源部署请求之后,还包括:判断所述资源部署请求为初次调度请求时,根据所述资源部署请求获取所述云平台的各主机的物理服务器,根据预设的资源部署策略对所述物理服务器进行权重设置,得到各主机的优先级排序,根据所述优先级排序为所述主机进行应用部署。
5.一种基于Docker的云平台控制装置,包括:
接收模块,用于接收用户输入的资源部署请求;
获取模块,用于在所述资源部署请求为动态调度请求时,根据所述资源部署请求获取所述云平台上各主机的负载信息以及需要调度的应用信息,所述应用信息为负载信息最高的主机上的应用信息;
选择模块,用于根据预设的调度策略选择负载信息最低的主机;
资源调度模块,用于将所述需要调度的应用信息的副本部署到该主机上。
6.一种基于Docker的云平台控制装置,包括:资源调度子单元和平台支单元;
所述平台支撑单元用于接收用户输入的资源部署请求;
所述资源调度单元用于在所述资源部署请求为动态调度请求时,根据所述云平台上各主机的负载信息选择负载信息最低的主机,并将需要调度的应用信息的副本部署在该主机上,所述应用信息为负载信息最高的主机上的应用信息。
7.根据权利要求6所述的基于Docker的云平台控制装置,其特征在于,所述负载信息包括容器的负载信息;所述资源调度单元用于根据所述预设的调度策略从所述主机上的选择负载信息最低的容器,并在该容器上部署所述应用信息的副本。
8.根据权利要求6所述的基于Docker的云平台控制装置,其特征在于,还包括路由控制单元和通用容器;
所述通用容器用于在所述主机上设置用于运行所述应用信息的副本的通用容器,所述通用容器为包括至少一种编程语言运行环境的互联网容器;
所述路由控制单元用于在所述资源调度单元部署所述应用信息的副本之后,将所述应用信息的路由指向调整所述应用信息的副本对应的容器上。
9.根据权利要求1所述的基于Docker的云平台控制装置,其特征在于,所述资源调度单元还用于根据获取的所述云平台上主机的负载信息判断是否都处于高负载状态,若是,则发送告警信息;
若不是,则将负载信息较低的主机上的应用信息部署到其他主机上,并删除该主机上的应用信息。
10.根据权利要求6至9任一项所述基于Docker的云平台控制装置,其特征在于,所述资源调度单元还用于在所述资源部署请求为初次调度请求时,根据所述资源部署请求获取所述云平台的各主机的物理服务器,根据预设的资源部署策略对所述物理服务器进行权重设置,得到各主机的优先级排序,所述资源调度模块根据所述优先级排序为所述主机进行应用部署。
CN201610482515.9A 2016-06-27 2016-06-27 一种基于Docker的云平台控制方法及装置 Active CN107547596B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610482515.9A CN107547596B (zh) 2016-06-27 2016-06-27 一种基于Docker的云平台控制方法及装置
PCT/CN2017/085626 WO2018001004A1 (zh) 2016-06-27 2017-05-24 一种基于Docker的云平台控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610482515.9A CN107547596B (zh) 2016-06-27 2016-06-27 一种基于Docker的云平台控制方法及装置

Publications (2)

Publication Number Publication Date
CN107547596A true CN107547596A (zh) 2018-01-05
CN107547596B CN107547596B (zh) 2022-01-25

Family

ID=60785879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610482515.9A Active CN107547596B (zh) 2016-06-27 2016-06-27 一种基于Docker的云平台控制方法及装置

Country Status (2)

Country Link
CN (1) CN107547596B (zh)
WO (1) WO2018001004A1 (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388469A (zh) * 2018-01-10 2018-08-10 北京思特奇信息技术股份有限公司 一种进程调度方法及系统
CN109062683A (zh) * 2018-06-29 2018-12-21 深圳信息职业技术学院 主机资源分配的方法、装置及计算机可读存储介质
CN109783197A (zh) * 2019-01-18 2019-05-21 北京百度网讯科技有限公司 用于程序运行时环境的调度方法和装置
CN110011984A (zh) * 2019-03-19 2019-07-12 西安微电子技术研究所 一种基于rest和rpc的分布式集群系统及方法
CN110134519A (zh) * 2019-05-21 2019-08-16 中国太平洋保险(集团)股份有限公司 一种基于容器平台实现网站管理的控制方法及装置
CN110764876A (zh) * 2019-10-25 2020-02-07 浪潮电子信息产业股份有限公司 一种云主机创建方法、装置、设备及可读存储介质
CN110838939A (zh) * 2019-10-11 2020-02-25 许继集团有限公司 一种基于轻量级容器的调度方法及边缘物联管理平台
CN111124619A (zh) * 2019-12-25 2020-05-08 浙江大学 一种面向二次调度的容器调度方法
CN111327647A (zh) * 2018-12-13 2020-06-23 北京金山云网络技术有限公司 一种容器对外提供服务的方法、装置及电子设备
CN111562989A (zh) * 2020-07-14 2020-08-21 北京东方通软件有限公司 一种动态资源和静态资源分离部署的方法和装置
CN113626138A (zh) * 2021-06-30 2021-11-09 济南浪潮数据技术有限公司 一种应用程序访问方法和相关装置
CN114885023A (zh) * 2021-02-05 2022-08-09 中国移动通信有限公司研究院 一种资源调度方法、装置及平台设备
WO2024021475A1 (zh) * 2022-07-27 2024-02-01 天翼云科技有限公司 一种容器调度方法及装置

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110109649B (zh) * 2018-02-01 2023-08-08 中国电信股份有限公司 针对Web服务的容器控制方法、装置和容器系统
CN108810125B (zh) * 2018-06-01 2021-04-23 云家园网络技术有限公司 物理节点的服务发现方法及系统
CN110032376B (zh) * 2018-12-13 2024-02-13 中国电子科技集团公司电子科学研究院 基于Docker的自动化软件部署方法及装置
CN110413405A (zh) * 2019-06-18 2019-11-05 平安科技(深圳)有限公司 多活负载均衡应用的缩容方法、装置、设备及存储介质
CN110321152B (zh) * 2019-07-04 2023-08-29 青岛华正信息技术股份有限公司 一种软件开发平台
CN110737498B (zh) * 2019-10-16 2023-03-10 黑龙江鑫联华信息股份有限公司 一种基于虚拟容器图形界面的大数据、人工智能在线考试方法及系统
CN110740069B (zh) * 2019-11-18 2022-06-03 中国银行股份有限公司 一种跨云平台托管装置和方法
CN111078397B (zh) * 2019-11-27 2023-04-25 上海朗曦信息技术有限公司 适用于服务器群集的负载均衡任务分配方法及系统
CN111355775B (zh) * 2019-12-30 2022-11-18 深圳创新科技术有限公司 CloudStack集群子服务器状态判断方法、装置、设备及存储介质
CN111522667A (zh) * 2020-04-27 2020-08-11 中国地质大学(武汉) 容器云环境下基于镜像存在机制评分策略的资源调度方法
CN111753326B (zh) * 2020-05-22 2024-02-13 湖南麒麟信安科技股份有限公司 一种容器云平台云存储资源加密方法、系统及介质
CN111885005B (zh) * 2020-06-29 2022-02-18 济南浪潮数据技术有限公司 一种容器云平台服务通信方法、装置、设备及介质
CN113301087B (zh) * 2020-07-21 2024-04-02 阿里巴巴集团控股有限公司 资源调度方法、装置、计算设备和介质
CN112015521A (zh) * 2020-09-30 2020-12-01 北京百度网讯科技有限公司 推理服务的配置方法、装置、电子设备及存储介质
CN112698931B (zh) * 2021-01-12 2022-11-11 北京理工大学 一种云工作流分布式调度系统
US11556332B2 (en) * 2021-02-23 2023-01-17 International Business Machines Corporation Application updating in a computing environment using a function deployment component
CN113076170B (zh) * 2021-06-03 2021-09-17 统信软件技术有限公司 一种远程协助方法、系统、装置、计算设备及存储介质
CN113760549B (zh) * 2021-08-30 2024-03-15 聚好看科技股份有限公司 一种pod部署方法及装置
CN114449004A (zh) * 2022-02-24 2022-05-06 京东科技信息技术有限公司 服务器集群的部署方法、装置、电子设备和可读介质
CN114640681A (zh) * 2022-03-10 2022-06-17 京东科技信息技术有限公司 一种数据处理方法和系统
CN114928398A (zh) * 2022-05-16 2022-08-19 中电防务科技有限公司 基于服务编排的通信卫星地球站管理系统及其实现方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102281329A (zh) * 2011-08-02 2011-12-14 北京邮电大学 一种PaaS云平台的资源调度方法和系统
CN103024053A (zh) * 2012-12-18 2013-04-03 华为技术有限公司 云存储方法、资源调度系统、云存储节点及系统
US20130225176A1 (en) * 2012-02-24 2013-08-29 Empire Technology Development Llc Geolocation-based load balancing
CN104836819A (zh) * 2014-02-10 2015-08-12 阿里巴巴集团控股有限公司 动态负载均衡的方法、系统及监控调度设备
CN105119913A (zh) * 2015-08-13 2015-12-02 东南大学 一种基于Docker的Web服务器架构及各模块之间的交互方法
CN105468362A (zh) * 2015-11-17 2016-04-06 广州杰赛科技股份有限公司 应用部署方法和云计算系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102281329A (zh) * 2011-08-02 2011-12-14 北京邮电大学 一种PaaS云平台的资源调度方法和系统
US20130225176A1 (en) * 2012-02-24 2013-08-29 Empire Technology Development Llc Geolocation-based load balancing
CN103024053A (zh) * 2012-12-18 2013-04-03 华为技术有限公司 云存储方法、资源调度系统、云存储节点及系统
CN104836819A (zh) * 2014-02-10 2015-08-12 阿里巴巴集团控股有限公司 动态负载均衡的方法、系统及监控调度设备
CN105119913A (zh) * 2015-08-13 2015-12-02 东南大学 一种基于Docker的Web服务器架构及各模块之间的交互方法
CN105468362A (zh) * 2015-11-17 2016-04-06 广州杰赛科技股份有限公司 应用部署方法和云计算系统

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388469B (zh) * 2018-01-10 2021-06-18 北京思特奇信息技术股份有限公司 一种进程调度方法及系统
CN108388469A (zh) * 2018-01-10 2018-08-10 北京思特奇信息技术股份有限公司 一种进程调度方法及系统
CN109062683A (zh) * 2018-06-29 2018-12-21 深圳信息职业技术学院 主机资源分配的方法、装置及计算机可读存储介质
CN109062683B (zh) * 2018-06-29 2022-03-18 深圳信息职业技术学院 主机资源分配的方法、装置及计算机可读存储介质
CN111327647B (zh) * 2018-12-13 2023-02-03 北京金山云网络技术有限公司 一种容器对外提供服务的方法、装置及电子设备
CN111327647A (zh) * 2018-12-13 2020-06-23 北京金山云网络技术有限公司 一种容器对外提供服务的方法、装置及电子设备
CN109783197A (zh) * 2019-01-18 2019-05-21 北京百度网讯科技有限公司 用于程序运行时环境的调度方法和装置
CN110011984A (zh) * 2019-03-19 2019-07-12 西安微电子技术研究所 一种基于rest和rpc的分布式集群系统及方法
CN110011984B (zh) * 2019-03-19 2021-07-06 西安微电子技术研究所 一种基于rest和rpc的分布式集群系统及方法
CN110134519A (zh) * 2019-05-21 2019-08-16 中国太平洋保险(集团)股份有限公司 一种基于容器平台实现网站管理的控制方法及装置
CN110838939A (zh) * 2019-10-11 2020-02-25 许继集团有限公司 一种基于轻量级容器的调度方法及边缘物联管理平台
CN110838939B (zh) * 2019-10-11 2022-04-08 许继集团有限公司 一种基于轻量级容器的调度方法及边缘物联管理平台
CN110764876A (zh) * 2019-10-25 2020-02-07 浪潮电子信息产业股份有限公司 一种云主机创建方法、装置、设备及可读存储介质
CN111124619A (zh) * 2019-12-25 2020-05-08 浙江大学 一种面向二次调度的容器调度方法
CN111562989A (zh) * 2020-07-14 2020-08-21 北京东方通软件有限公司 一种动态资源和静态资源分离部署的方法和装置
CN114885023A (zh) * 2021-02-05 2022-08-09 中国移动通信有限公司研究院 一种资源调度方法、装置及平台设备
CN113626138A (zh) * 2021-06-30 2021-11-09 济南浪潮数据技术有限公司 一种应用程序访问方法和相关装置
WO2024021475A1 (zh) * 2022-07-27 2024-02-01 天翼云科技有限公司 一种容器调度方法及装置

Also Published As

Publication number Publication date
WO2018001004A1 (zh) 2018-01-04
CN107547596B (zh) 2022-01-25

Similar Documents

Publication Publication Date Title
CN107547596A (zh) 一种基于Docker的云平台控制方法及装置
CN105979009B (zh) 一种针对云应用容器的增加负载自动均衡方法
CN109302483B (zh) 一种应用程序的管理方法及系统
US20210149737A1 (en) Method for fast scheduling for balanced resource allocation in distributed and collaborative container platform environment
CN106919445B (zh) 一种在集群中并行调度容器的方法和装置
CN103593242B (zh) 基于Yarn框架的资源共享控制系统
CN106055381B (zh) 一种创建虚拟机的方法和装置
CN104636077B (zh) 用于虚拟机的网络块设备存储系统与方法
CN101325561B (zh) 一种处理电子邮件的方法、装置及系统
CN108600005A (zh) 一种防御微服务雪崩效应的方法
CN106325998A (zh) 一种基于云计算的应用部署的方法和装置
CN110888743A (zh) 一种gpu资源使用方法、装置及存储介质
CN101785004A (zh) 语境敏感请求结果的客户端侧聚集
JP2014520346A5 (zh)
CN106610871A (zh) 一种云操作系统架构
JP7103705B1 (ja) クラスタに基づく容量縮小処理方法及び装置
CN109726005A (zh) 用于管理资源的方法、服务器系统和计算机程序产品
CN105491150A (zh) 基于时间序列的负载均衡处理方法及系统
CN106446168A (zh) 一种面向分布式数据仓库的高效加载客户端实现方法
CN116541134B (zh) 多架构集群中容器的部署方法及装置
CN115686805A (zh) Gpu资源共享的方法和装置、调度gpu资源共享的方法和装置
CN111092921A (zh) 数据采集方法、装置及存储介质
CN112187864A (zh) 负载均衡方法、装置、存储介质及电子设备
CN108984290A (zh) 任务调度方法和系统
CN111400021B (zh) 一种深度学习方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant