一种Kubernetes部署工具的制作方法

文档序号:39826530发布日期:2024-11-01 19:00阅读:10来源:国知局
一种Kubernetes部署工具的制作方法

本发明涉及云计算和软件部署领域,具体说是一种kubernetes部署工具。


背景技术:

1、kubernetes作为一种流行的容器编排系统,广泛应用于云原生应用的部署和管理。在kubernetes环境中,对deployment进行镜像版本更新是一个常见需求(deployment通常翻译为部署,是kubernetes中最常用的资源对象,为replicaset和pod的创建提供了一种声明式的定义方法,pod通常翻译为“容器组”或“豆荚”,通常亦称为pods,replicaset通常翻译为“副本集”)。然而,现有的kubernetes部署工具在更新deployment镜像版本时,普遍存在缺乏细致的状态检测和自动回滚机制的问题,这导致在更新过程中出现问题时难以及时发现,且更新失败时缺乏自动恢复能力,增加了人工介入的复杂性和服务中断的风险,一旦出现更新失败,可能导致服务长时间中断,影响用户体验和业务连续性,从而影响系统的稳定性和可用性。

2、公开于该背景技术部分的信息仅仅旨在加深对本发明的总体背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。


技术实现思路

1、针对现有技术中存在的缺陷,本发明的目的在于提供一种kubernetes部署工具,所述kubernetes部署工具可自动检测pods状态,当状态为更新失败时可自动回滚,不仅提高了更新的可靠性和安全性,还简化了故障恢复流程,增强了系统的稳定性和可用性,为kubernetes环境中的软件部署带来了显著的改进和提升。

2、为达到以上目的,本发明采取的技术方案是:

3、一种kubernetes部署工具,其特征在于,包括:

4、任务接收模块,用于获取任务要求,所述任务要求包括如下信息:待更新的deployment名称,新版本镜像信息,超时时间;

5、客户端创建模块,用于生成kubernetes客户端实例,用于从任务接收模块获取任务要求;

6、api调度模块,用于根据kubernetes客户端实例的请求,与kubernetes api服务器建立通信,并向服务器发送更新请求;

7、更新处理模块,用于获取服务器对更新请求的响应,并基于响应中携带的更新信息,对deployment进行镜像的版本更新;

8、定时器模块,用于创建并启动定时器,并将定时器与一个更新请求进行绑定,在定时器设定的时间内,每间隔一个预设时间就对deployment中的pods状态进行检测。

9、在上述技术方案的基础上,所述预设时间默认为5秒。

10、在上述技术方案的基础上,所述对deployment中的pods状态进行检测包括:检测pods的运行状态、版本信息。

11、在上述技术方案的基础上,当pods的运行状态异常时,则通过减小预设时间增加检测频率。

12、在上述技术方案的基础上,在定时器设定的时间内,如果pods的版本信息为新版本,并且pods的运行状态为存活,则定时器模块返回发版成功信息。

13、在上述技术方案的基础上,在定时器设定的时间后,如果pods的版本信息非新版本,自动触发回滚机制,恢复至上一版镜像。

14、在上述技术方案的基础上,所述kubernetes部署工具还包括:

15、自动回滚模块,用于在没有从定时器模块获得发版成功信息时,自动触发回滚机制,将deployment回滚至上一版镜像,以确保服务的稳定性和可用性。

16、在上述技术方案的基础上,所述回滚机制是指:通过kubernetes的revisionhistory功能,将deployment回滚至上一版镜像。

17、在上述技术方案的基础上,回滚完成后,对deployment中的pods状态进行检测,如果pods的版本信息为原版本,并且pods的运行状态为存活,则返回回滚成功信息,并终止对deployment进行镜像的版本更新。

18、本发明所述的一种kubernetes部署工具,具有以下有益效果:

19、1、所述kubernetes部署工具基于go语言开发,可自动检测pods状态,当状态为更新失败时可自动回滚;不仅提高更新的可靠性和安全性,而且提高软件部署的整体流程和系统的稳定性与可用性;

20、2、采用了动态的状态检测机制,具体的说:

21、先按照默认检测频率进行状态检测,一旦某个pods状态出现异常将会动态的增加检测频率;待pods状态正常后将恢复到默认检测频率;

22、动态调整检测频率可以保证对状态检测的时效性的同时也可以节约检测等待时间,确保及时发现并处理问题,避免了潜在的系统故障和服务中断,提高了部署过程的整体效率,提高了kubernetes环境中deployment更新的可靠性和安全性;

23、3、在更新失败时,通过自动回滚机制的引入,能够迅速恢复至上一版镜像,减少服务中断时间,保障系统的稳定运行;

24、在更新失败时,无需人工干预,系统能够自动将deployment回滚至上一版稳定运行的镜像版本;这一功能极大地简化了故障恢复流程,减少了恢复时间,同时也降低了对技术人员技能和经验的依赖,提升了运维的自动化水平和应急响应能力;

25、4、还通过调整参数配置,如超时时间设置等,赋予了用户更高的灵活性和自定义能力;

26、用户可以根据实际需求调整更新策略,进一步优化部署过程,实现更高效、更稳定的软件部署。

27、这些有益效果共同推动了云原生应用的快速迭代和高效运维,为企业的业务发展和技术创新提供了有力支持。



技术特征:

1.一种kubernetes部署工具,其特征在于,包括:

2.如权利要求1所述的一种kubernetes部署工具,其特征在于,所述预设时间默认为5秒。

3.如权利要求1所述的一种kubernetes部署工具,其特征在于,所述对deployment中的pods状态进行检测包括:检测pods的运行状态、版本信息。

4.如权利要求3所述的一种kubernetes部署工具,其特征在于,当pods的运行状态异常时,则通过减小预设时间增加检测频率。

5.如权利要求1所述的一种kubernetes部署工具,其特征在于,在定时器设定的时间内,如果pods的版本信息为新版本,并且pods的运行状态为存活,则定时器模块返回发版成功信息。

6.如权利要求5所述的一种kubernetes部署工具,其特征在于,在定时器设定的时间后,如果pods的版本信息非新版本,自动触发回滚机制,恢复至上一版镜像。

7.如权利要求5所述的一种kubernetes部署工具,其特征在于,所述kubernetes部署工具还包括:

8.如权利要求5所述的一种kubernetes部署工具,其特征在于,所述回滚机制是指:通过kubernetes的revision history功能,将deployment回滚至上一版镜像。

9.如权利要求5所述的一种kubernetes部署工具,其特征在于,回滚完成后,对deployment中的pods状态进行检测,如果pods的版本信息为原版本,并且pods的运行状态为存活,则返回回滚成功信息,并终止对deployment进行镜像的版本更新。


技术总结
本发明涉及一种Kubernetes部署工具,集成了任务接收、客户端创建、API调度、更新处理及定时器五大模块;任务接收模块负责收集任务要求;客户端创建模块据此生成Kubernetes客户端实例;API调度模块利用该实例与Kubernetes API服务器通信,发送更新请求;更新处理模块负责执行更新操作,并基于服务器响应结果调整Deployment镜像版本;定时器模块为每个更新请求绑定定时器,定时检测Pods状态。本发明,可自动检测Pods状态,当状态为更新失败时可自动回滚,不仅提高了更新的可靠性和安全性,还简化了故障恢复流程,增强了系统的稳定性和可用性,为Kubernetes环境中的软件部署带来了显著的改进和提升。

技术研发人员:孟同贺,阎岩,刘山国,刘辉,尹志刚,卢述奇,何畏
受保护的技术使用者:同福集团股份有限公司
技术研发日:
技术公布日:2024/10/31
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1