System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 多部署环境下的容器部署方法、装置、设备及介质制造方法及图纸_技高网

多部署环境下的容器部署方法、装置、设备及介质制造方法及图纸

技术编号:40960375 阅读:2 留言:0更新日期:2024-04-18 20:38
本申请涉及容器部署技术领域,具体公开了一种多部署环境下的容器部署方法、装置、设备及介质。本申请将编译任务、镜像构建任务与容器部署任务解耦生成第一流水线以及第二流水线,首先通过第一流水线执行编译任务和镜像构建任务,获得编译制品以及待部署镜像,然后在多个部署环境中确定至少一个目标环境,进行串行执行第二流水线,完成目标部署环境下的容器部署,避免了网络带宽受限的情况下并行执行的数量下降导致的多环境下的容器部署效率下降,提高了容器部署效率。

【技术实现步骤摘要】

本申请涉及容器部署,尤其涉及一种多部署环境下的容器部署方法、装置、计算机设备及存储介质。


技术介绍

1、在云原生概念中,微服务、devops(devops,是一组过程、方法与系统的统称)、持续交付和容器是其四大核心要素,微服务以容器为载体,通过devops达到持续交付的目的。流水线作为devops中的基石,是开发中一些常见任务的编排,比如最为常见的容器部署流水线:从编译到镜像构建,最后到容器部署。用户通过执行流水线,可以把微服务以容器的形式发布到不同的容器环境中。

2、在一些云厂商的流水线产品中,定义镜像构建任务时,直接推送镜像到最终部署时的镜像仓库,定义容器部署任务时,需要选择或者填写部署相关信息,比如:环境对应的kubernetes(kubernetes,是一个强大的开源平台,用于自动化容器应用程序的部署、扩展和管理)集群和命名空间,这样就导致流水线和部署环境紧密关联了,每个部署环境都需要定义一条流水线。

3、云厂商的流水线产品中容器部署任务通常使用用户代码仓库中定义好的工作负载yaml文件,直接对接kubernetes,这虽然让容器部署更加灵活,但是同时也增加了用户的使用门槛,需要对kubernetes有较深的理解。如果某用户的微服务数量较多,并且需要部署环境到几十甚至上百个环境,在部署时所发环境不确定,比如:第1次部署环境1、2、3,第2次发部署环境4、5、6、7、8,如果采用云厂商的流水线,需要创建微服务数量和部署环境数量乘积条数的流水线,会造成流水线爆炸增长,不宜管理;因为网络带宽受限,直接影响镜像推送到各环境镜像仓库的速度以及并行推送的镜像数量,从而影响流水线并行执行数量,最终导致用户发布操作次数显著增加,部署效率降低。因此如何在网络带宽受限的情况下提高多环境下的容器部署效率成为了亟需解决的问题。


技术实现思路

1、本申请提供了一种多部署环境下的容器部署方法、装置、计算机设备及存储介质,以在网络带宽受限的情况下提高多环境下的容器部署效率。

2、第一方面,本申请提供了一种多部署环境下的容器部署方法,所述方法包括:

3、基于用户的第一操作,生成第一流水线,并执行所述第一流水线的编译任务以及镜像构建任务,分别生成编译制品以及待部署镜像;

4、基于所述用户的第二操作,在所述待部署镜像中确定至少一个目标镜像,并生成与所述目标镜像对应的至少一个第二流水线,其中,所述第二流水线包括容器部署任务;

5、基于预设的容器部署配置信息以及目标部署环境,串行执行至少一个所述第二流水线,逐一实现所述目标部署环境下的容器部署。

6、进一步地,所述基于用户的第一操作,生成第一流水线,并执行所述第一流水线的编译任务以及镜像构建任务,分别生成编译制品以及待部署镜像之后,还包括:

7、将所述待部署镜像推送到部署平台的平台镜像仓库中进行存储。

8、进一步地,所述基于预设的容器部署配置信息以及目标部署环境,串行执行至少一个所述第二流水线,逐一实现所述目标部署环境下的容器部署,包括:

9、从所述平台镜像仓库中获取所述目标镜像推送到所述目标部署环境对应的环境镜像仓库中,并调用容器控制台接口基于所述容器部署配置信息,串行执行至少一个所述第二流水线,以执行所述目标部署环境下的容器部署任务,实现容器部署。

10、进一步地,所述基于用户的第一操作,生成第一流水线,并执行所述第一流水线的编译任务以及镜像构建任务,分别生成编译制品以及待部署镜像之后,还包括:

11、将所述编译制品推送到对象存储minio中进行存储。

12、进一步地,所述执行所述第一流水线的镜像构建任务,生成待部署镜像,包括:

13、从所述minio提取所述编译制品,并获取镜像构建文件;

14、基于基础镜像、所述编译制品以及所述待部署镜像构建文件,执行所述镜像构建任务,获得所述待部署镜像。

15、进一步地,所述从所述minio提取所述编译制品,并获取镜像构建文件之前,还包括:

16、基于镜像构建说明以及镜像构建指令,生成所述镜像构建文件。

17、进一步地,所述容器部署配置信息包括至少一个部署环境下的容器部署配置。

18、第二方面,本申请还提供了一种多部署环境下的容器部署装置,所述装置包括:

19、编译制品获得模块,用于基于用户的第一操作,生成第一流水线,并执行所述第一流水线的编译任务以及镜像构建任务,分别生成编译制品以及待部署镜像;

20、待部署镜像获得模块,用于基于用户的第一操作,生成第一流水线,并执行所述第一流水线的编译任务以及镜像构建任务,分别生成编译制品以及待部署镜像;

21、目标镜像确定模块,用于基于用户操作在部署环境中确定至少一个目标环境,并在所述待部署镜像中分别确定与所述目标环境对应的目标镜像;

22、容器部署模块,用于基于预设的容器部署配置信息以及目标部署环境,串行执行至少一个所述第二流水线,逐一实现所述目标部署环境下的容器部署。

23、本申请公开了一种多部署环境下的容器部署方法、装置、计算机设备及存储介质,基于用户的第一操作,生成第一流水线,并执行所述第一流水线的编译任务以及镜像构建任务,分别生成编译制品以及待部署镜像;基于所述用户的第二操作,在所述待部署镜像中确定至少一个目标镜像,并生成与所述目标镜像对应的至少一个第二流水线,其中,所述第二流水线包括容器部署任务;基于预设的容器部署配置信息以及目标部署环境,串行执行至少一个所述第二流水线,逐一实现所述目标部署环境下的容器部署。本申请将编译任务、镜像构建任务与容器部署任务解耦生成第一流水线以及第二流水线,首先通过第一流水线执行编译任务和镜像构建任务,获得编译制品以及待部署镜像,然后在多个部署环境中确定至少一个目标环境,进行串行执行第二流水线,完成目标部署环境下的容器部署,避免了网络带宽受限的情况下并行执行的数量下降导致的多环境下的容器部署效率下降,提高了容器部署效率。

本文档来自技高网...

【技术保护点】

1.一种多部署环境下的容器部署方法,其特征在于,包括:

2.根据权利要求1所述的多部署环境下的容器部署方法,其特征在于,所述基于用户的第一操作,生成第一流水线,并执行所述第一流水线的编译任务以及镜像构建任务,分别生成编译制品以及待部署镜像之后,还包括:

3.根据权利要求2所述的多部署环境下的容器部署方法,其特征在于,所述基于预设的容器部署配置信息以及目标部署环境,串行执行至少一个所述第二流水线,逐一实现所述目标部署环境下的容器部署,包括:

4.根据权利要求1所述的多部署环境下的容器部署方法,其特征在于,所述基于用户的第一操作,生成第一流水线,并执行所述第一流水线的编译任务以及镜像构建任务,分别生成编译制品以及待部署镜像之后,还包括:

5.根据权利要求4所述的多部署环境下的容器部署方法,其特征在于,所述执行所述第一流水线的镜像构建任务,生成待部署镜像,包括:

6.根据权利要求5所述的多部署环境下的容器部署方法,其特征在于,所述从所述Minio提取所述编译制品,并获取镜像构建文件之前,还包括:

7.根据权利要求1至6任一项所述的多部署环境下的容器部署方法,其特征在于,所述容器部署配置信息包括至少一个部署环境下的容器部署配置。

8.一种多部署环境下的容器部署装置,其特征在于,包括:

...

【技术特征摘要】

1.一种多部署环境下的容器部署方法,其特征在于,包括:

2.根据权利要求1所述的多部署环境下的容器部署方法,其特征在于,所述基于用户的第一操作,生成第一流水线,并执行所述第一流水线的编译任务以及镜像构建任务,分别生成编译制品以及待部署镜像之后,还包括:

3.根据权利要求2所述的多部署环境下的容器部署方法,其特征在于,所述基于预设的容器部署配置信息以及目标部署环境,串行执行至少一个所述第二流水线,逐一实现所述目标部署环境下的容器部署,包括:

4.根据权利要求1所述的多部署环境下的容器部署方法,其特征在于,所述基于用户的第一操作,生成第一流水线,并执...

【专利技术属性】
技术研发人员:杨睿方新丘小营
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1