我有yaml文件,用于在所有环境中部署我的应用程序。我只想为测试环境添加一些JVM args。我可以在YAML文件里做吗?
这是yaml
apiVersion: v1
kind: Pod
metadata:
name: rss-site
labels:
app: web
spec:
containers:
- name: front-end
image: nginx
ports:
- containerPort: 80
- name: rss-reader
image: nickchase/rss-php-nginx:v1
ports:
- containerPort: 88
env:
- name: JAVA_OPTS
value: "
-Dlog4j.configurationFile=log4j2.xml
-Denable.scan=true
"在这里,我希望-Denable.scan=true是有条件的,并且应该只为测试环境添加。
我试过这样做,但是它不起作用,而且还抛出了错误error converting YAML to JSON: yaml: line 53: did not find expected key。
试过:
apiVersion: v1
kind: Pod
metadata:
name: rss-site
labels:
app: web
spec:
containers:
- name: front-end
image: nginx
ports:
- containerPort: 80
- name: rss-reader
image: nickchase/rss-php-nginx:v1
ports:
- containerPort: 88
env:
- name: JAVA_OPTS
value: "
-Dlog4j.configurationFile=log4j2.xml
${{if eq "TEST" "TEST" }} # just sample condition , it will change
-Denable.scan=true
${{end }}
"发布于 2022-03-11 20:02:22
helm会这么做的。实际上,语法几乎与您所放置的语法相同,并且如下所示:
env:
- name: JAVA_OPTS
value: "
-Dlog4j.configurationFile=log4j2.xml
{{- if eq .Values.profile "TEST" }}
-Denable.scan=true
{{- end }}
"并通过安装包(称为图表)声明要使用的配置文件(即设置.Values.profile值)。
您可以查看https://helm.sh/以获得详细信息和示例
https://stackoverflow.com/questions/71443771
复制相似问题