[发明专利]一种基于云原生的跨云应用发布方法及系统在审
申请号: | 202211451025.4 | 申请日: | 2022-11-18 |
公开(公告)号: | CN115794307A | 公开(公告)日: | 2023-03-14 |
发明(设计)人: | 魏欢;王翱宇;程哲;才振功 | 申请(专利权)人: | 杭州谐云科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F8/61;G06F8/71;G06F9/445;H04L67/562;H04L9/40 |
代理公司: | 北京汇信合知识产权代理有限公司 11335 | 代理人: | 卢亮辉 |
地址: | 310023 浙江省杭州市余杭区*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 原生 应用 发布 方法 系统 | ||
本发明公开了一种基于云原生的跨云应用发布方法及系统,包括发布控制面接收到用户的应用发布请求,发布请求包括应用部署配置的仓库地址以及发布的云环境;判断云环境是否健康;若健康,则发布控制面在云环境中启动发布代理程序,传入应用部署配置的仓库地址;若不健康,则持续健康直至其健康;发布代理程序基于应用部署配置的仓库地址,从仓库中获取部署配置文件;基于部署配置文件,部署应用;本发明发布控制面和发布代理程序分离,运行在各自云环境中,解决了现有发布系统中心化部署模式容易出现单点故障,进而影响到已发布应用运行的情况。
技术领域
本发明涉及应用发布技术领域,尤其涉及一种基于云原生的跨云应用发布方法及系统。
背景技术
目前应用发布系统大多是单集群中的,且应用发布采取中心化的发布模式,及由中心发布组件负责全部应用的发布生命周期,这对中心发布组件的性能要求较高,容易存在单点故障,且难以跨集群大规模部署应用。
Jenkins是一个开源项目,提供了一种易于使用的持续集成系统,虽然也支持发布应用,但对跨云应用发布需要大量的配置文件,难以扩大应用发布规模;中心化的发布系统,由中心发布组件负责全部应用的发布生命周期,这对中心发布组件的性能要求较高,容易存在单点故障。传统的应用发布方法及系统不得不面临大规模多集群的挑战;应用发布的效率、稳定性和安全性已经成为跨集群应用发布系统必须考虑的因素。
发明内容
针对上述问题中存在的不足之处,本发明提供一种基于云原生的跨云应用发布方法及系统。
为实现上述目的,本发明提供一种基于云原生的跨云应用发布方法,包括:
发布控制面接收到用户的应用发布请求,所述发布请求包括应用部署配置的仓库地址以及发布的云环境;
判断所述云环境是否健康;若健康,则所述发布控制面在所述云环境中启动发布代理程序,传入所述应用部署配置的仓库地址;若不健康,则持续健康直至其健康;
所述发布代理程序基于所述应用部署配置的仓库地址,从仓库中获取部署配置文件;
基于所述部署配置文件,部署所述应用。
优选的是,所述发布控制面与所述云环境通信连接时,通过数字证书进行身份认证。
优选的是,所述发布控制面和所述发布代理程序均基于云原生的方式构建,以容器的方式运行在各自云环境中。
优选的是,基于所述部署配置文件,部署所述应用包括:
所述发布代理程序在所述云环境中执行kubectl apply命令,将部署配置文件提交到云系统中,以部署所述应用。
优选的是,在部署过程中,所述发布代理程序检查所述应用的部署状态,并返回给所述发布控制面。
本发明还包括一种基于云原生的跨云应用发布系统,包括:
发布模块,用于发布控制面接收到用户的应用发布请求,所述发布请求包括应用部署配置的仓库地址以及发布的云环境;
判断模块,用于判断所述云环境是否健康;若健康,则所述发布控制面在所述云环境中启动发布代理程序,传入所述应用部署配置的仓库地址;若不健康,则持续健康直至其健康;
发布模块,用于所述发布代理程序基于所述应用部署配置的仓库地址,从仓库中获取部署配置文件;
部署模块,用于基于所述部署配置文件,部署所述应用。
优选的是,所述发布控制面与所述云环境通信连接时,通过数字证书进行身份认证。
优选的是,所述发布控制面和所述发布代理程序均基于云原生的方式构建,以容器的方式运行在各自云环境中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州谐云科技有限公司,未经杭州谐云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211451025.4/2.html,转载请声明来源钻瓜专利网。