概述
当您选择使用Kurbenetes进行容器化部署时,可以使用配置项去保存一些不需要加密的配置信息,如JVM堆内存、JVM属性参数等,在创建或者部署应用时,系统会自动将配置信息直接注入到容器中。
在MSAP场景下,这种配置管理方式变得更加灵活和强大。MSAP不仅支持上述的配置注入,还允许您将配置项以文件的形式直接挂载到容器内的指定目录。这意味着,除了能够动态调整应用的运行参数外,您还可以确保这些配置信息以文件的形式存在,这不仅方便了日常的管理和维护工作,也使得在需要时更新配置或进行故障排查变得更为直观和高效,从而显著提升了整体的运维体验和工作效率。
准备工作
首先,确保你已完成以下两步:
常见使用场景
覆盖目录下已经存在的目录下的文件
这里以常用的nginx镜像举例,在官方的nginx镜像中,/etc/nginx目录下的nginx.conf文件是需要配置的,并且在不同的环境下,该文件内容也不相同。此时,可以使用将配置项以文件形式挂载到容器指定目录下,覆盖原文件,来实现不同环境使用不同配置的效果。
首先需要创建K8s配置项。需要注意的是:配置项下的键值对映射,键是文件名称,值为文件内容。
然后在配置管理中,配置相关信息。对于通用应用,在应用管理菜单,进入具体应用,再点击部署配置,可以看到所有环境的部署配置,在部署配置里就会看到配置管理。
对于微服务应用,在创建或者再次部署微服务应用的过程中,可以看到配置管理。这里以再次部署为例,从监控运维-已发布应用菜单,选择具体已发布的微服务应用,进入后点击部署,就可以看到配置管理。
在配置管理中,可以通过挂载文件的方式,向容器中注入配置信息。需要注意的是,在挂载文件路径中,需要填写到文件名称。如下图所示:
参数 | 描述 |
---|---|
配置类型 | 目前只支持配置项。 |
挂载类型 | 挂载到文件。 |
挂载源 | 挂载到应用容器文件系统中的配置项的名称。 |
挂载主目录 | 设置容器的挂载主目录,必须以斜杠(/)开头。 |
文件挂载方式 | 保留原文件:保留原目录下的文件,添加本次挂载文件。 注意,相同文件名将保留本次挂载文件,隐藏原目录重名文件。 |
挂载配置 | 要挂载的Key:需要挂载到应用容器文件系统中的配置项指定的Key。 挂载文件路径:相对挂载主目录的子路径。 |
Spring cloud微服务应用配置文件覆盖
对于spring cloud微服务应用,配置文件为yml或者properties格式,因为是jar包,配置文件已经被打包在jar包里边,通常在不改动jar的前提下使用其他配置,根据spring cloud微服务启动加载配置文件原理,那么需要在与jar包同级的config目录下,存在yml或者properties格式的同名文件,或者在与jar包同级目录下,存在yml或者properties格式的同名文件。这里更加推荐第一种方式。