本发明涉及自动化治理领域,具体提供一种自动化管理与优化方法及装置。
背景技术:
1、随着云计算和微服务领域的技术不断成熟,kubernetes已成为管理大规模容器化应用的首选平台。然而,kubernetes集群的管理和运维仍然面临诸多挑战,如配置复杂、部署繁琐、资源利用率低、故障响应慢等问题。传统的集群管理方法依赖人工干预,并且一次只能管理一个集群,不仅效率低下,而且容易出错。
2、因此,如何实现多kubernetes集群的自动化、智能化管理成为当前亟待解决的技术问题。
技术实现思路
1、本发明是针对上述现有技术的不足,提供一种实用性强的自动化管理与优化方法。
2、本发明进一步的技术任务是提供一种设计合理,安全适用的自动化管理与优化装置。
3、本发明解决其技术问题所采用的技术方案是:
4、一种自动化管理与优化方法,将多个 kubernetes 集群的资源声明存储在 git仓库中,并通过自动同步声明来管理多个集群的状态;
5、由配置源控制器通过持续监控 git 仓库中的配置和代码变更,自动将变更拉取到本 kubernetes 集群中,并将新配置通知给配置处理控制器;
6、配置处理控制器会对变更配置进行处理,最终整合生成一份适用于 kubernetes集群的最终配置,并发送给应用部署控制器;
7、应用部署控制器收到配置清单后,自动将新配置变更应用到集群中;
8、监控告警控制器会监控配置更新的过程和结果,当变更出现问题时,会自动发出告警通知。
9、进一步的,每个kubernetes集群里都有一个自己的配置源控制器,配置源控制器对接 git 仓库和其他存储配置的源代码存储库,配置采用声明式yaml方式管理,所有配置都以声明式 yaml 文件的形式存储在 git 仓库配置源中;
10、将 kubernetes 的yaml配置文件存储在配置仓库中来进行组织和管理,并根据不同的环境提取出共性配置和差异性配置,将共性配置和差异性配置进行区分,按照环境进行组织和管理,每个环境的差异性配置文件独立管理;
11、配置源控制器包括定时同步和基于事件驱动同步两种同步策略,所述定时同步会根据定义的时间去定时同步最新的配置仓库配置,基于事件驱动同步时配置源控制器会持续监控配置仓库的变化,当配置源控制器检测到配置文件变更时,将会自动提取最新的配置文件,包括共性配置和本环境的差异性配置,拉取到本 kubernetes 集群中,并触发后续处理流程。
12、进一步的,当需要对集群配置或应用程序进行修改时,开发人员在本地进行更改,并将修改后的变更提交到 git 仓库;
13、每次提交都需要通过代码审查和测试,并且通过使用 git 的版本控制特性,所有的配置变更都追踪到具体的提交记录。
14、进一步的,所述配置处理控制器包括模板引擎和依赖管理模块;
15、所述模板引擎模块进行解析配置模板语言,动态生成kubernetes 资源清单文件,包括:
16、解析配置文件中的模板文件,并根据用户提供的配置值与模板文件中的占位符相结合来生成对应的 kubernetes 资源清单;
17、进行参数化配置通过模板文件中的占位符支持参数化配置,模板文件中的占位符根据用户提供的配置值进行替换;
18、在模板生成资源清单前进行语法检查,确保模板文件没有语法错误,此外还会进行基本的逻辑验证。
19、进一步的,所述依赖管理模块管理应用的依赖关系,进行应用及依赖的所有组件能够正确的部署安装、升级和删除,并处理版本兼容性问题,包括:
20、读取并解析配置文件中的依赖关系文件;根据解析结果的依赖关系构建依赖图,表示应用与依赖组件之间的关系,自动整合所有安装应用的部署顺序;在版本管理时,依赖管理模块处理依赖组件的版本问题;在依赖升级中,同步升级依赖的组件。
21、进一步的,在应用部署控制器中应用安装时,如果是应用的第一次安装部署,kubernetes集群中没有已经安装的对应应用,则直接将生成的 kubernetes 资源清单应用到 kubernetes 集群中,完成应用安装;
22、应用升级时,如果kubernetes集群中已经有部署完成的应用,则将生成的kubernetes 资源清单与当前已部署应用进行版本比较,确定需要进行的升级操作;
23、然后对需要升级的应用进行增量更新,生成增量更新的 kubernetes 资源清单,只更新发生变化的部分;
24、应用删除时,如果kubernetes集群中已经有部署完成的应用但是kubernetes 资源清单中没有对应应用,则会进行应用删除;
25、首先进行依赖检查,在删除应用前检查依赖关系,确保删除操作不会影响其他依赖此应用的组件,如果有依赖关系则取消删除操作,在删除应用后清理相关资源。
26、进一步的,所述监控告警控制器会记录所有的操作日志,包括配置提取、处理和应用的详细信息,进行消息推送,当配置变更或应用部署完成之后,自动发送通知给相关人员,实时反馈和监控;
27、如果在同步或部署过程中出现错误,发送告警通知,并提供详细的错误信息。
28、一种自动化管理与优化装置,包括:至少一个存储器和至少一个处理器;
29、所述至少一个存储器,用于存储机器可读程序;
30、所述至少一个处理器,用于调用所述机器可读程序,执行一种自动化管理与优化方法。
31、本发明的一种自动化管理与优化方法及装置和现有技术相比,具有以下突出的有益效果:
32、本发明简单易用,将集群的声明性yaml配置存储在git仓库中,所有变更通过git提交和合并请求进行管理。
33、用户只需通过一个git配置仓库的yaml声明就能配置管理多个kubernetes集群的应用。
34、系统会自动监控指定的git仓库,一旦检测到配置变更,就会自动将这些变更应用到kubernetes集群中,变更过程无需用户手动操作。
35、当系统检测到配置变更或出现异常情况时,会自动通过定义的渠道发送通知和告警,帮助用户及时了解系统状态。
1.一种自动化管理与优化方法,其特征在于,将多个 kubernetes 集群的资源声明存储在 git 仓库中,并通过自动同步声明来管理多个集群的状态;
2.根据权利要求1所述的一种自动化管理与优化方法,其特征在于,每个kubernetes集群里都有一个自己的配置源控制器,配置源控制器对接 git 仓库和其他存储配置的源代码存储库,配置采用声明式yaml方式管理,所有配置都以声明式 yaml 文件的形式存储在git 仓库配置源中;
3.根据权利要求2所述的一种自动化管理与优化方法,其特征在于,当需要对集群配置或应用程序进行修改时,开发人员在本地进行更改,并将修改后的变更提交到 git 仓库;
4.根据权利要求3所述的一种自动化管理与优化方法,其特征在于,所述配置处理控制器包括模板引擎和依赖管理模块;
5.根据权利要求4所述的一种自动化管理与优化方法,其特征在于,所述依赖管理模块管理应用的依赖关系,进行应用及依赖的所有组件能够正确的部署安装、升级和删除,并处理版本兼容性问题,包括:
6.根据权利要求5所述的一种自动化管理与优化方法,其特征在于,在应用部署控制器中应用安装时,如果是应用的第一次安装部署,kubernetes集群中没有已经安装的对应应用,则直接将生成的 kubernetes 资源清单应用到 kubernetes 集群中,完成应用安装;
7.根据权利要求6所述的一种自动化管理与优化方法,其特征在于,所述监控告警控制器会记录所有的操作日志,包括配置提取、处理和应用的详细信息,进行消息推送,当配置变更或应用部署完成之后,自动发送通知给相关人员,实时反馈和监控;
8.一种自动化管理与优化装置,其特征在于,包括:至少一个存储器和至少一个处理器;
