概述
使用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格式的同名文件。这里更加推荐第一种方式。