【发布时间】:2021-12-27 08:42:43
【问题描述】:
yaml 文件,其中定义了以下值,包括一个称为“环境”的特定值
image:
repository: my_repo_url
tag: my_tag
pullPolicy: IfNotPresent
releaseName: cron_script
schedule: "0 10 * * *"
namespace: deploy_cron
rav_admin_password: asdf
environment: testing
testing_forwarder_ip: 10.2.71.21
prod_us_forwarder_ip: 10.2.71.15
现在在基于此环境值的我的掌舵图中,我需要为新变量分配一个值,为此我编写了如下代码,但它始终没有进入 if else 块本身
{{- $fwip := .Values.prod_us_forwarder_ip }}
{{- if contains .Values.environment "testing" }}
{{- $fwip := .Values.testing_forwarder_ip }}
{{- end }}
---
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: "{{ .Values.releaseName }}"
namespace: "{{ .Values.namespace }}"
labels:
....................................
....................................
....................................
spec:
restartPolicy: Never
containers:
- name: "{{ .Values.releaseName }}"
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: IfNotPresent
args:
- python3
- test.py
- --data
- 100
- {{ $fwip }}
在上面的代码中,我总是得到 $fwip 值作为 10.2.71.21,无论环境值是测试还是生产,我都得到相同的值
如果我没有在 if else 语句之前声明变量 $fwip 那么它说 $fwip 变量未定义错误,所以我不确定为什么根本没有使用 if else 语句,如何调试进一步?
【问题讨论】: