首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >lagom配置覆盖

lagom配置覆盖
EN

Stack Overflow用户
提问于 2018-05-22 21:27:23
回答 2查看 490关注 0票数 0

有没有办法在不同的环境(即: kubernetes )上部署lagom项目。开发,阶段,推动)这样我可以使用一个图像与多个配置覆盖?

例如,假设我有一个环境变量foo=bar-{{env}}。我想构建和发布一个映像和覆盖配置,以便在dev foo=bar-dev和prod foo=bar-prod中。

目前,我的理解是application.conf与图像绑定,不能被覆盖。如果这是正确的,有什么方法可以解决这个问题,这样我就不需要为每个环境创建多个映像了吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-23 10:08:46

您可以通过以下几种方式来做到这一点:

静态:

您可以在3个命名空间中创建3个部署,并将env变量添加到每个部署中。您可以为每个部署手动管理这些变量:

代码语言:javascript
复制
apiVersion: v1
kind: Pod
metadata:
  namespace: dev
  name: envar-demo
  labels:
    purpose: demonstrate-envars
spec:
  containers:
  - name: java-demo-container
    image: my-super-java-app
    env:
    - name: foo
      value: "bar-dev"
    - name: JAVA_HOME
      value: "/opt/java/jdk1.7.0_05/bin/java"

Helm

您可以制作舵图,并使用包含变量的3个文件来部署应用程序。要开发图表,您可以阅读正式文件或在官方Kubernetes回购中找到一些示例

票数 1
EN

Stack Overflow用户

发布于 2018-06-03 16:50:21

或者,您可以设置typesafe config system属性变量来覆盖application.conf文件。

  • application.conf:开发中默认的conf文件使用 foo: bar-dev
  • application.prod.conf: 包括"application.conf“foo: bar-prod

设置dockerfile系统变量:

代码语言:javascript
复制
 ENTRYPOINT java -Dconfig.resource="$CONFIG_FILE"

单位: kubernetes yml

代码语言:javascript
复制
 env:
     - name: CONFIG_FILE
       value: "application.prod.conf"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50476694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档