本技术涉及计算机,尤其是涉及一种应用部署方法、装置、电子设备及计算机可读存储介质。
背景技术:
1、随着容器化技术的发展,容器平台(即云端管理平台)和容器编排引擎(kubernetes)也越来越多地被用于生产环境中,用来对容器应用进行编排。具体的,容器平台中包含有多种容器应用,用户可以通过容器平台将容器应用对应的安装部署文件发送至各个设备集群中。每个设备集群中设置有对应的容器编排引擎,设备集群接收到容器应用的安装部署文件后,容器编排引擎可以在设备集群中实现容器应用的安装部署。
2、设备集群部署完容器应用后,需要启动该容器应用,才能使容器应用在设备集群中正常运行。而在启动容器应用时,设备集群需要从容器平台中拉取容器镜像,才能完成容器应用的启动。若将容器应用同时部署至多个设备集群中时,各个设备集群需要同时从容器平台的镜像仓库中拉取容器镜像,就会对镜像仓库造成访问压力,容易造成网络拥堵等问题。
技术实现思路
1、有鉴于此,本技术的目的在于提供一种应用部署方法、装置、电子设备及计算机可读存储介质,以降低对镜像仓库的访问压力,减少网络拥堵。
2、第一方面,本技术实施例提供了一种应用部署方法,所述方法应用于包含有预设数量的任务执行单元的云边协同应用管理组件,所述方法包括:
3、接收到应用部署请求后,针对所述应用部署请求中包含的每个目标边缘集群,生成该目标边缘集群对应的第一配置文件;所述第一配置文件中包含待部署的目标容器应用的部署文件包和用于部署所述部署文件包的配置参数信息;
4、针对每个所述目标边缘集群,根据该目标边缘集群对应的第一配置文件,生成该目标边缘集群的待部署任务,以将该待部署任务推送至任务队列中;
5、针对每个所述任务执行单元,该任务执行单元从所述任务队列中读取一个待部署任务,以及将读取到的待部署任务对应的第一配置文件发送至该第一配置文件对应的目标边缘集群中,以在该目标边缘集群中执行该待部署任务,在执行完成该待部署任务后,从所述任务队列中读取下一个待部署任务并执行读取到的待部署任务,直至所述任务队列中的待部署任务均被执行完成时停止;所述目标边缘集群用于根据接收到的第一配置文件中的所述配置参数信息在该目标边缘集群中部署所述目标容器应用。
6、结合第一方面,本技术实施例提供了第一方面的第一种可能的实施方式,其中,所述接收到应用部署请求后,针对所述应用部署请求中包含的每个目标边缘集群,生成该目标边缘集群对应的第一配置文件,包括:
7、接收到云端管理平台发送的应用部署请求后,判断所述应用部署请求中包含的各个信息是否缺失,以及判断所述应用部署请求中包含的各个信息是否符合预设格式要求;
8、当所述应用部署请求中包含的各个信息无缺失且符合所述预设格式要求时,针对所述应用部署请求中包含的每个目标边缘集群,生成该目标边缘集群对应的第一配置文件。
9、结合第一方面,本技术实施例提供了第一方面的第二种可能的实施方式,其中,所述接收到应用部署请求后,针对所述应用部署请求中包含的每个目标边缘集群,生成该目标边缘集群对应的第一配置文件,包括:
10、接收到云端管理平台发送的应用部署请求后,根据所述应用部署请求中包含的所述部署文件包的存储位置,从所述云端管理平台中获取所述部署文件包;
11、针对所述应用部署请求中包含的每个目标边缘集群,根据所述部署文件包和用于部署所述部署文件包的配置参数信息,生成该目标边缘集群对应的第一配置文件。
12、结合第一方面的第一种可能的实施方式或第二种可能的实施方式,本技术实施例提供了第一方面的第三种可能的实施方式,其中,所述云端管理平台通过以下方式生成所述应用部署请求:
13、响应于用户针对容器应用的第一选择操作,以从所述云端管理平台中存储的多个容器应用中选择出待部署的所述目标容器应用;
14、响应于所述用户针对边缘集群的第二选择操作,以从多个边缘集群中选择出多个所述目标边缘集群;
15、针对每个所述目标边缘集群,响应于所述用户针对该目标边缘集群中的各个空间的第三选择操作,以从该目标边缘集群中的多个空间中选择出目标空间;其中,每个边缘集群中包含多个边缘设备,每个边缘设备中包含多个空间;
16、根据所述目标容器应用、所述目标边缘集群和每个所述目标边缘集群对应的所述目标空间,生成应用部署请求;所述应用部署请求中包含每个所述目标边缘集群各自的第一标识信息、所述目标空间的第二标识信息、以及所述目标容器应用的第三标识信息、所述目标容器应用的部署文件包的配置参数信息、所述部署文件包在所述云端管理平台中的存储位置。
17、结合第一方面,本技术实施例提供了第一方面的第四种可能的实施方式,其中,所述方法还包括:
18、接收到应用部署请求后,针对所述应用部署请求中包含的每个目标边缘集群,生成该目标边缘集群对应的第二配置文件;所述第二配置文件中包含该目标边缘集群的访问地址和第一标识信息;
19、所述针对每个所述任务执行单元,该任务执行单元从所述任务队列中读取一个待部署任务,以及将读取到的待部署任务对应的第一配置文件发送至该第一配置文件对应的目标边缘集群中,以在该目标边缘集群中执行该待部署任务,包括:
20、针对每个所述任务执行单元,该任务执行单元从所述任务队列中读取一个待部署任务,根据读取到的待部署任务对应的所述第二配置文件中的访问地址和第一标识信息,监测所述第一标识信息对应的目标边缘集群中是否预先部署有所述目标容器应用;
21、当该目标边缘集群中未预先部署有所述目标容器应用时,该任务执行单元将读取到的待部署任务对应的第一配置文件以及创建指令发送至该第一配置文件对应的目标边缘集群中,以使该目标边缘集群根据所述配置参数信息在该目标边缘集群中创建部署所述目标容器应用;
22、当该目标边缘集群中预先部署有所述目标容器应用时,该任务执行单元将读取到的待部署任务对应的第一配置文件以及更新指令发送至该第一配置文件对应的目标边缘集群中,以使该目标边缘集群根据所述配置参数信息在该目标边缘集群中更新部署所述目标容器应用。
23、结合第一方面的第四种可能的实施方式,本技术实施例提供了第一方面的第五种可能的实施方式,其中,所述任务队列中的待部署任务均被执行完成后,还包括:
24、针对每个所述目标边缘集群,根据该目标边缘集群对应的所述第二配置文件中的访问地址和第一标识信息,监测该目标边缘集群中所述目标容器应用的部署情况和/或运行状态;
25、根据各个所述目标边缘集群中所述目标容器应用的部署情况和/或运行状态,对所述应用部署请求进行标记。
26、结合第一方面,本技术实施例提供了第一方面的第六种可能的实施方式,其中,所述针对每个所述任务执行单元,该任务执行单元从所述任务队列中读取一个待部署任务,以及将读取到的待部署任务对应的第一配置文件发送至该第一配置文件对应的目标边缘集群中,包括:
27、针对每个所述任务执行单元,该任务执行单元从所述任务队列中读取一个待部署任务,根据读取到的待部署任务对应的第一配置文件所对应的目标边缘集群的运行环境,调整该第一配置文件中的配置参数信息,得到调整后的第一配置文件;
28、将调整后的第一配置文件发送至该第一配置文件对应的目标边缘集群中;所述目标边缘集群在用于根据接收到的第一配置文件中的所述配置参数信息在该目标边缘集群中部署所述目标容器应用时,具体用于根据调整后的第一配置文件中的配置参数信息在该目标边缘集群中部署所述目标容器应用。
29、第二方面,本技术实施例还提供一种应用部署装置,所述装置应用于包含有预设数量的任务执行单元的云边协同应用管理组件,所述装置包括:
30、第一生成单元,用于接收到应用部署请求后,针对所述应用部署请求中包含的每个目标边缘集群,生成该目标边缘集群对应的第一配置文件;所述第一配置文件中包含待部署的目标容器应用的部署文件包和用于部署所述部署文件包的配置参数信息;
31、第二生成单元,用于针对每个所述目标边缘集群,根据该目标边缘集群对应的第一配置文件,生成该目标边缘集群的待部署任务,以将该待部署任务推送至任务队列中;
32、所述任务执行单元,用于从所述任务队列中读取一个待部署任务,以及将读取到的待部署任务对应的第一配置文件发送至该第一配置文件对应的目标边缘集群中,以在该目标边缘集群中执行该待部署任务,在执行完成该待部署任务后,从所述任务队列中读取下一个待部署任务并执行读取到的待部署任务,直至所述任务队列中的待部署任务均被执行完成时停止;所述目标边缘集群用于根据接收到的第一配置文件中的所述配置参数信息在该目标边缘集群中部署所述目标容器应用。
33、结合第二方面,本技术实施例提供了第二方面的第一种可能的实施方式,其中,所述第一生成单元在用于接收到应用部署请求后,针对所述应用部署请求中包含的每个目标边缘集群,生成该目标边缘集群对应的第一配置文件时,具体用于:
34、接收到云端管理平台发送的应用部署请求后,判断所述应用部署请求中包含的各个信息是否缺失,以及判断所述应用部署请求中包含的各个信息是否符合预设格式要求;
35、当所述应用部署请求中包含的各个信息无缺失且符合所述预设格式要求时,针对所述应用部署请求中包含的每个目标边缘集群,生成该目标边缘集群对应的第一配置文件。
36、结合第二方面,本技术实施例提供了第二方面的第二种可能的实施方式,其中,所述第一生成单元在用于接收到应用部署请求后,针对所述应用部署请求中包含的每个目标边缘集群,生成该目标边缘集群对应的第一配置文件时,具体用于:
37、接收到云端管理平台发送的应用部署请求后,根据所述应用部署请求中包含的所述部署文件包的存储位置,从所述云端管理平台中获取所述部署文件包;
38、针对所述应用部署请求中包含的每个目标边缘集群,根据所述部署文件包和用于部署所述部署文件包的配置参数信息,生成该目标边缘集群对应的第一配置文件。
39、结合第二方面的第一种可能的实施方式或第二种可能的实施方式,本技术实施例提供了第二方面的第三种可能的实施方式,其中,所述云端管理平台通过以下方式生成所述应用部署请求:
40、响应于用户针对容器应用的第一选择操作,以从所述云端管理平台中存储的多个容器应用中选择出待部署的所述目标容器应用;
41、响应于所述用户针对边缘集群的第二选择操作,以从多个边缘集群中选择出多个所述目标边缘集群;
42、针对每个所述目标边缘集群,响应于所述用户针对该目标边缘集群中的各个空间的第三选择操作,以从该目标边缘集群中的多个空间中选择出目标空间;其中,每个边缘集群中包含多个边缘设备,每个边缘设备中包含多个空间;
43、根据所述目标容器应用、所述目标边缘集群和每个所述目标边缘集群对应的所述目标空间,生成应用部署请求;所述应用部署请求中包含每个所述目标边缘集群各自的第一标识信息、所述目标空间的第二标识信息、以及所述目标容器应用的第三标识信息、所述目标容器应用的部署文件包的配置参数信息、所述部署文件包在所述云端管理平台中的存储位置。
44、结合第二方面,本技术实施例提供了第二方面的第四种可能的实施方式,其中,还包括:
45、第三生成单元,用于接收到应用部署请求后,针对所述应用部署请求中包含的每个目标边缘集群,生成该目标边缘集群对应的第二配置文件;所述第二配置文件中包含该目标边缘集群的访问地址和第一标识信息;
46、所述任务执行单元在用于从所述任务队列中读取一个待部署任务,以及将读取到的待部署任务对应的第一配置文件发送至该第一配置文件对应的目标边缘集群中,以在该目标边缘集群中执行该待部署任务时,具体用于:
47、从所述任务队列中读取一个待部署任务,根据读取到的待部署任务对应的所述第二配置文件中的访问地址和第一标识信息,监测所述第一标识信息对应的目标边缘集群中是否预先部署有所述目标容器应用;
48、当该目标边缘集群中未预先部署有所述目标容器应用时,该任务执行单元将读取到的待部署任务对应的第一配置文件以及创建指令发送至该第一配置文件对应的目标边缘集群中,以使该目标边缘集群根据所述配置参数信息在该目标边缘集群中创建部署所述目标容器应用;
49、当该目标边缘集群中预先部署有所述目标容器应用时,该任务执行单元将读取到的待部署任务对应的第一配置文件以及更新指令发送至该第一配置文件对应的目标边缘集群中,以使该目标边缘集群根据所述配置参数信息在该目标边缘集群中更新部署所述目标容器应用。
50、结合第二方面的第四种可能的实施方式,本技术实施例提供了第二方面的第五种可能的实施方式,其中,还包括:
51、监测单元,用于针对每个所述目标边缘集群,根据该目标边缘集群对应的所述第二配置文件中的访问地址和第一标识信息,监测该目标边缘集群中所述目标容器应用的部署情况和/或运行状态;
52、标记单元,用于根据各个所述目标边缘集群中所述目标容器应用的部署情况和/或运行状态,对所述应用部署请求进行标记。
53、结合第二方面,本技术实施例提供了第二方面的第六种可能的实施方式,其中,所述任务执行单元在用于从所述任务队列中读取一个待部署任务,以及将读取到的待部署任务对应的第一配置文件发送至该第一配置文件对应的目标边缘集群中时,具体用于:
54、针对每个所述任务执行单元,该任务执行单元从所述任务队列中读取一个待部署任务,根据读取到的待部署任务对应的第一配置文件所对应的目标边缘集群的运行环境,调整该第一配置文件中的配置参数信息,得到调整后的第一配置文件;
55、将调整后的第一配置文件发送至该第一配置文件对应的目标边缘集群中;所述目标边缘集群在用于根据接收到的第一配置文件中的所述配置参数信息在该目标边缘集群中部署所述目标容器应用时,具体用于根据调整后的第一配置文件中的配置参数信息在该目标边缘集群中部署所述目标容器应用。
56、第三方面,本技术实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面中任一种可能的实施方式中的步骤。
57、第四方面,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面中任一种可能的实施方式中的步骤。
58、本技术实施例提供的一种应用部署方法、装置、电子设备及计算机可读存储介质,其中,云边协同应用管理组件接收到应用部署请求后,生成每个目标边缘集群对应的待部署任务,将各个目标边缘集群的待部署任务推送至任务队列中,通过各个任务执行单元分别执行自身读取到的待部署任务。各个任务执行单元在执行待部署任务时,每个任务执行单元每次只能读取、执行一个待部署任务,只有当读取到的一个待部署任务执行完成后,才能从任务队列中重新读取下一个待部署任务并执行,直至任务队列中的待部署任务均被执行完成时停止。该实施例中,由于任务执行单元的数量是预设的,且每个任务执行单元每次只能执行一个待部署任务,因此,只有预设数量限制范围以内的目标边缘集群上的目标容器应用部署完成之后,才会继续处理其他未开始部署的目标边缘集群,直到将所有目标边缘集群部署完毕。通过限制任务执行单元的数量,有利于降低对镜像仓库的访问压力,优化网络拥堵。
59、为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。