指向Kubernetes持久卷的Spring Config位置

时间:2018-02-17 16:36:11

标签: spring kubernetes

我们的应用程序环境包括托管在Kubernetes管理的docker容器上的Spring Boot应用程序。 在Spring Boot中,我们使用属性" spring.config.location"指定属性文件的外部位置。 java命令如下: java -jar myproject.jar --spring.config.location = {file:// some file path}

现在,我可以创建一个Kube持久卷而不是使用本地文件路径,并在上面的命令中提供该路径吗? 我应该使用什么Kube卷类型来允许文件的相同语义:// {文件路径}?

1 个答案:

答案 0 :(得分:0)

我们可以使用" spring.config.location"从Kubernetes Persistent Volume成功读取application.properties文件。命令行参数。我们遵循的步骤如下:

  1. 在Kubernetes上创建了持久卷(PVC设置为ReadWriteMany选项,因为多个微服务将使用相同的属性文件)。

  2. 将卷安装到每个微服务的Pod中(pod脚本文件中的更改)。可以通过 - ' / shared / folder / properties'访问挂载的文件系统。路径。

  3. 添加了" spring.config.location" " java -jar"的参数命令 - 例如java -Dspring.profiles.active = $ spring_profile -Xmx4096m -XX:+ HeapDumpOnOutOfMemoryError -jar myJar.jar --spring.config.location = file:/ shared / folder / properties