Docker(Kubernetes)中Java应用程序的configuration

我想知道,在Kubernetes中处理Java应用程序configuration的最佳做法是什么? 我在yaml文件中看到了一些系统variables的例子。 或者是有一个“更好”的方法与Java属性文件?

有没有办法让不同的实例使用不同的configuration?

提前致谢! Mananana

没有规范的解决scheme,它依情况而定

如果你有一个或几个parameter passing他们,因为环境variables是可以的。

如果你有很多参数(假设你有不同的生产参数和testing环境参数),把它们集成到属性文件并在应用程序启动时传递属性文件名是比较方便的。 它可以使用envvariables或只是作为启动命令的参数来完成。

属性文件(或configuration文件)也很受stream行的框架支持,如spring启动,它们允许在启动时传递configuration文件。 在这种情况下,kubernates yaml可能看起来像这样:

env: - name: SPRING_PROFILES_ACTIVE value: production command: [ "bash", "-c", "java -jar App.jar"]