一种基于K8S的JAVA应用参数配置装置及方法与流程

文档序号:36163105发布日期:2023-11-23 11:56阅读:78来源:国知局
一种基于的制作方法

本发明涉及存储器,具体涉及一种基于k8s的java应用参数配置装置及方法。


背景技术:

1、容器云平台k8s装置可运行各种场景下的业务应用,如web应用,大数据计算任务等。在java语言开发中,目前基于springcloud微服务架构的容器化开发模式使用越累越广泛。java容器化是将java服务或应用程序打包到软件容器中的过程,通常包括执行该包所需的一切。容器通常用于创建基于微服务的应用程序,并允许在应用程序中提供易于复制和可扩展的服务。传统java语言开发的应用也越来越多的随着原生云的发展进行容器化改造。

2、在传统应用容器化过程中,参数配置是一项非常重要的工作,在k8s中,参数配置通常是以configmap及secret存在的,应用程序一般涉及的参数配置计较多,如jvm参数,数据库用户名密码配置等。如何将这些参数以configmap及secret的方式在容器化后使用,是具有一定的技术门槛且相对繁琐的工作。


技术实现思路

1、基于上述问题,本发明的目的在于提出一种基于k8s的java应用参数configmap及secret化装置及方法,在java应用容器化开发过程中,通过解析应用程序的配置项,生成相关的configmap及secret资源。

2、基于上述目的,第一方面,本发明提供了一种基于k8s的java应用参数配置装置,该装置用于解析java应用容器化之前的配置文件,自动生成configmap及secret配置资源并进行格式校验;该参数配置装置包括:

3、配置文件分类模块,用于将java应用的配置文件根据不同的开发模块进行分类,以生成对应的configmap及secret资源;

4、基本格式校验模块,用于对生成的configmap及secret资源进行基本的格式校验,以确保其符合kubernetes的规范要求;

5、业务读取环境变量验证模块,用于将生成的configmap及secret资源通过环境变量或挂载卷的方式提供给业务容器,验证业务是否能正确读取相关配置;

6、装置部署模块,部署在物理服务器或虚拟机上,用于提供configmap及secret资源的生成和管理。

7、作为本发明的进一步方案,所述配置文件分类模块还用于根据配置文件中的普通环境变量相关配置,生成对应的configmap资源,用于向容器应用提供配置参数。

8、作为本发明的进一步方案,所述配置文件分类模块还用于根据配置文件中需要加密的配置项,提取并生成对应的secret资源,用于向容器应用提供加密的配置参数。

9、作为本发明的进一步方案,所述基本格式校验模块还用于检查生成的configmap及secret资源的格式是否正确,包括正确的键值对结构、数据类型。

10、作为本发明的进一步方案,所述业务读取环境变量验证模块还用于验证业务容器是否能成功读取并使用通过configmap及secret提供的环境变量配置。

11、作为本发明的进一步方案,所述装置部署模块还用于部署在与k8s容器平台连接的物理服务器或虚拟机上,与容器平台环境进行交互,实现configmap及secret资源的创建和管理。

12、第二方面,本发明还提供了一种基于k8s的java应用参数配置方法,该方法包括以下步骤:

13、在java应用容器化开发过程中,通过解析应用程序的配置项,生成相关的configmap及secret资源。

14、作为本发明的进一步方案,解析应用程序配置项的步骤包括:

15、将java应用的配置文件进行分类,将普通环境变量相关的配置项单独提取,用于生成configmap;将需要加密的配置项单独提取,用于生成secret。

16、作为本发明的进一步方案,生成configmap资源的步骤进包括:

17、根据分类后的配置项,生成相应的configmap资源,并将配置项与其对应的键值对关系映射到configmap中。

18、作为本发明的进一步方案,生成secret资源的步骤包括:

19、根据分类后的配置项,生成相应的secret资源,并将配置项的加密值与其对应的键值对关系映射到secret中。

20、作为本发明的进一步方案,格式校验步骤包括:

21、对生成的configmap及secret资源进行基本格式校验,包括键值对结构、数据类型等的验证,以确保其符合kubernetes的规范要求。

22、作为本发明的进一步方案,部署容器应用的步骤包括:

23、使用业务镜像部署容器应用,并将生成的configmap及secret通过环境变量或挂载卷的方式提供给业务pod使用。

24、作为本发明的进一步方案,验证业务运行的步骤包括:

25、验证业务容器是否能够正常运行,并读取到通过configmap及secret提供的参数配置。

26、本发明的所述基于k8s的java应用参数configmap及secret化的应用场景为容器化开发过程;所述基于k8s的java应用参数configmap及secret化的目的在于提高容器化开发效率,降低开发难度;所述基于k8s的java应用参数configmap及secret化的优势在于自动化生成configmap及secret资源,避免手动创建k8s资源的繁琐步骤。

27、本发明的又一方面,还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述任一项根据本发明的基于k8s的java应用参数配置方法。

28、本发明的再一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被执行时实现上述任一项根据本发明的基于k8s的java应用参数配置方法。

29、需要说明的是,在本技术中缩略语和关键术语定义为:

30、k8s:k8s是kubernetes的简称,k8s是一个开源的,用于管理云平台中多个主机上的容器化的应用,kubernetes的目标是让部署容器化的应用简单并且高效(powerful),kubernetes提供了应用部署,规划,更新,维护的一种机制。

31、pod:在kubernetes中,最小的管理元素是pod,pod是最小的管理、创建应用的最小调度单元,一个pod中可以包含多个容器。

32、docker:docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的linux或windows机器上,也可以实现虚拟化。

33、configmap:普通配置(configmap)在kubernetes中可以保存工作负载中所需的配置信息,其内容可由用户自定义。通过普通配置可将配置信息和运行的镜像进行解耦,避免因配置改动而导致镜像重制的情况,使得应用程序具有更强的可移植性。普通配置为用户提供向容器中注入配置信息的机制,既可用来保存单个属性,又可用于保存整个配置文件。

34、secret:加密配置(secret)是kubernetes中一种加密存储的资源对象,其内容可由用户自定义。加密配置可用于保存认证信息、证书、私钥等敏感信息,降低直接对外暴露的风险。

35、本发明的一种基于k8s的java应用参数配置装置及方法,具有以下有益技术效果:

36、1.提高开发效率:该装置及方法能够自动解析java应用程序的配置项并生成对应的configmap及secret资源,减少了手动创建k8s资源的繁琐过程,提高了开发效率。

37、2.降低开发难度:通过将配置文件进行分类和自动生成configmap及secret资源,简化了java应用容器化开发的过程,降低了开发人员的学习和配置负担。

38、3.增强安全性:使用secret资源来存储需要加密的配置项,有效保护敏感信息的安全性,防止配置信息泄露。

39、4.简化配置管理:通过将配置项存储在configmap资源中,实现了配置的集中管理,简化了配置的维护和更新过程,提高了可维护性。

40、5.支持动态配置更新:由于configmap及secret资源与应用解耦,可以在不重启应用的情况下更新配置,实现了动态配置的支持。

41、6.提供灵活的配置方式:通过环境变量或挂载卷的方式将configmap及secret提供给业务容器,使得应用程序可以方便地读取和使用配置参数。

42、7.增强可移植性:基于kubernetes平台的configmap及secret资源可以与不同的环境和部署场景兼容,提供了应用程序的可移植性和跨平台性。

43、8.实现配置的版本控制:configmap及secret资源可以与代码版本控制系统集成,实现配置的版本管理和回滚,提供了配置的可追溯性和可恢复性。

44、9.支持多租户环境:通过kubernetes的命名空间机制,可以将configmap及secret资源隔离到不同的租户或团队中,提供了多租户环境下的配置管理和安全隔离。

45、10.增加系统的可靠性和稳定性:通过自动生成和验证configmap及secret资源的方式,减少了人为配置错误的可能性,提高了系统的可靠性和稳定性。

46、综上所述,本发明提出了一种基于k8s的java应用参数配置装置及方法,该装置通过解析java应用容器化之前的配置文件,自动生成configmap及secret配置资源并进行格式校验,避免了人工解析、创建相关k8s资源;通过分析业务应用的配置文件,自动生成configmap及secret配置资源,提高了java应用容器化开发效率,降低了容器化开发难度。

47、本技术的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1