首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在舵图中设置java环境变量?

如何在舵图中设置java环境变量?
EN

Stack Overflow用户
提问于 2020-03-28 00:36:42
回答 1查看 2.7K关注 0票数 1

在helm图表中为java应用程序的部署设置环境变量的最佳实践是什么,以便我可以在开发和生产环境中使用相同的图表?对于这两种环境,我都有单独的kubernetes部署。

代码语言:javascript
复制
spec:
    containers:
        env:
           - name: SYSTEM_OPTS
           - value: "-Dapp1.url=http://dev.app1.xyz -Dapp2.url=http://dev.app2.abc ..."

类似地,我的prod变量类似于

代码语言:javascript
复制
"-Dapp1.url=http://prod.app1.xyz -Dapp2.url=http://prod.app2.abc ..."

现在,我如何利用helm来编写单个图表,同时又可以根据环境创建具有不同属性的独立pod集,如

代码语言:javascript
复制
helm install my-app --set env=prod ./test-chart

代码语言:javascript
复制
helm install my-app --set env=dev ./test-chart
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-28 01:47:51

最好的方法是使用单个部署模板,并为每个环境使用单独的值文件。它不需要是应用程序中使用的唯一环境变量。这同样可以应用于任何特定于环境配置。

示例:

deployment.yaml

代码语言:javascript
复制
spec:
    containers:
        env:
           - name: SYSTEM_OPTS
           - value: "{{ .Values.opts }}"

values-dev.yaml

代码语言:javascript
复制
# system opts
opts: "-Dapp1.url=http://dev.app1.xyz -Dapp2.url=http://dev.app2.abc "

values-prod.yaml

代码语言:javascript
复制
# system opts
opts: "-Dapp1.url=http://prod.app1.xyz -Dapp2.url=http://prod.app2.abc "

然后在helm命令中指定相关的值文件。

例如,在dev环境下部署。

代码语言:javascript
复制
helm install -f values-dev.yaml my-app ./test-chart
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60890295

复制
相关文章

相似问题

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