本发明涉及云计算,尤其涉及一种kubernetes集群的应用部署方法及装置。
背景技术:
1、kubernetes(简称k8s)被广泛应用于各类云计算服务,用于编排管理容器化的工作负载,是当前市场上容器编排的事实标准。而对于研发人员来说,日常开发、测试工作过程中,在kubernetes集群中部署和更新应用是比较繁琐且容易出错的操作,特别是一些基础服务的chart包,若无统一管理,部署和运行过程中发生错误时需要花费较多时间去排查和处理,这一方面导致研发人员分散精力无法专注于业务逻辑,另一方面使运维人员花费较多时间去排查和处理重复问题。
技术实现思路
1、本发明提供一种kubernetes集群的应用部署方法及装置,用以解决现有技术中在kubernetes集群中部署应用比较繁琐且容易出错的问题。
2、本发明提供一种kubernetes集群的应用部署方法,包括:
3、获取至少一组docker镜像和chart包,将所述docker镜像保存至docker镜像仓库,将所述chart包保存至helm chart仓库;一组所述docker镜像和所述chart包对应一个应用;
4、获取用户选定的显示配置项和隐藏配置项,创建所述chart包对应的配置模板;
5、获取用户选定的待部署应用对应的所述chart包,以及获取用户为所述chart包配置的参数,基于所述参数对待部署应用对应的所述chart包进行配置;所述参数与所述配置模板中的显示配置项对应;
6、在获取到待部署应用的部署指令的情况下,向kubernetes集群发送部署请求,以及发送待部署应用对应的所述chart包和所述docker镜像,以使kubernetes集群基于所述待部署应用对应的所述chart包和所述docker镜像,对所述待部署应用进行部署。
7、根据本发明提供的一种kubernetes集群的应用部署方法,创建所述chart包对应的配置模板,包括:
8、采用yaml或者json的键值对格式,创建所述chart包对应的所述配置模板。
9、根据本发明提供的一种kubernetes集群的应用部署方法,获取用户为所述chart包配置的参数,基于所述参数对待部署应用对应的所述chart包进行配置,包括:
10、将所述配置模板以表单的形式进行展示;
11、获取用户填写在表单内的配置值,为所述chart包渲染完整的chart值。
12、根据本发明提供的一种kubernetes集群的应用部署方法,所述docker镜像仓库为私有docker镜像仓库,所述helm chart仓库为私有helm chart仓库。
13、根据本发明提供的一种kubernetes集群的应用部署方法,获取用户选定的待更新应用对应的所述chart包,以及获取用户为待更新应用对应的所述chart包配置的参数或者为待更新应用对应的所述chart包指定的升级版本,基于所述参数或者所述指定的升级版本对所述chart包进行配置;
14、向kubernetes集群发送应用更新请求,以使kubernetes集群基于所述待更新应用对应的所述chart包以及所述chart包对应的所述docker镜像,对所述待更新应用进行更新。
15、根据本发明提供的一种kubernetes集群的应用部署方法,还包括:
16、获取用户选定的待回滚应用对应的历史版本的所述chart包;
17、向kubernetes集群发送应用回滚请求,以使kubernetes集群基于所述待回滚应用对应的历史版本的所述chart包以及历史版本的所述chart包对应的所述docker镜像,对所述待回滚应用进行回滚。
18、根据本发明提供的一种kubernetes集群的应用部署方法,在获取用户选定的待回滚应用对应的历史版本的所述chart包之前,还包括获取历史版本查询请求并展示历史版本的所述chart包;
19、所述历史版本查询请求和所述应用回滚请求分别基于helm的对应的接口实现。
20、本发明还提供一种kubernetes集群的应用部署装置,包括:
21、应用信息获取模块,用于获取至少一组docker镜像和chart包,将所述docker镜像保存至docker镜像仓库,将所述chart包保存至helm chart仓库;一组所述docker镜像和所述chart包对应一个应用;
22、配置模板构建模块,用于获取用户选定的显示配置项和隐藏配置项,创建所述chart包对应的配置模板;
23、配置参数确定模块,用于获取用户选定的待部署应用对应的所述chart包,以及获取用户为所述chart包配置的参数,基于所述参数对待部署应用对应的所述chart包进行配置;所述参数与所述配置模板中的显示配置项对应;
24、部署指令执行模块,用于在获取到待部署应用的部署指令的情况下,向kubernetes集群发送部署请求,以及发送待部署应用对应的所述chart包和所述docker镜像,以使kubernetes集群基于所述待部署应用对应的所述chart包和所述docker镜像,对所述待部署应用进行部署。
25、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述的kubernetes集群的应用部署方法。
26、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的kubernetes集群的应用部署方法。
27、本发明提供的kubernetes集群的应用部署方法及装置,通过获取至少一组docker镜像和chart包,将docker镜像保存至docker镜像仓库,将chart包保存至helm chart仓库;一组docker镜像和chart包对应一个应用;获取用户选定的显示配置项和隐藏配置项,创建chart包对应的配置模板;获取用户选定的待部署应用对应的chart包,以及获取用户为chart包配置的参数,基于该参数对chart包进行配置,该参数与配置模板中的显示配置项对应;在获取到待部署应用的部署指令的情况下,向kubernetes集群发送部署请求,以及发送待部署应用对应的所述chart包和所述docker镜像,以使kubernetes集群基于待部署应用对应的chart包和docker镜像,对待部署应用进行部署。通过该方法和装置的应用,能够实现在kubernetes集群中一键部署应用的功能,操作简单易学,极大地简化了研发及运维人员部署应用的流程和学习成本,节省了研发及运维人员的时间,有利于提高工作效率。
1.一种kubernetes集群的应用部署方法,其特征在于,包括:
2.根据权利要求1所述的kubernetes集群的应用部署方法,其特征在于,创建所述chart包对应的配置模板,包括:
3.根据权利要求2所述的kubernetes集群的应用部署方法,其特征在于,获取用户为所述chart包配置的参数,基于所述参数对待部署应用对应的所述chart包进行配置,包括:
4.根据权利要求1所述的kubernetes集群的应用部署方法,其特征在于,所述docker镜像仓库为私有docker镜像仓库,所述helmchart仓库为私有helm chart仓库。
5.根据权利要求1-4任一项所述的kubernetes集群的应用部署方法,其特征在于,还包括:
6.根据权利要求1-4任一项所述的kubernetes集群的应用部署方法,其特征在于,还包括:
7.根据权利要求6所述的kubernetes集群的应用部署方法,其特征在于,在获取用户选定的待回滚应用对应的历史版本的所述chart包之前,还包括获取历史版本查询请求并展示历史版本的所述chart包;
8.一种kubernetes集群的应用部署装置,其特征在于,包括:
9.一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的kubernetes集群的应用部署方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的kubernetes集群的应用部署方法。
