为什么在"if"块中定义的变量会出现"undefined variable"错误?



当我尝试使用模板文件安装Helm图表时:

{{ if eq .Release.Namespace "fedx-app-1100" }}{{ $nodePort := 30106 }}{{ end }}
apiVersion: v1
kind: Service
metadata:
name: mysql
namespace: {{ .Release.Namespace }} 
labels:
app: mysql
spec:
type: NodePort
ports:
- port: 3306
targetPort: 3306
nodePort: {{ $nodePort }}

产生一个错误:

Error: parse error at (fedx-install/templates/mysql.yaml:21): undefined variable "$nodePort"

是什么导致这个错误?我如何重组模板文件以避免它?

试试这个

{{ if eq .Release.Namespace "fedx-app-1100" }}{{ $nodePort := 30106 }}
apiVersion: v1
kind: Service
metadata:
name: mysql
namespace: {{ .Release.Namespace }} 
labels:
app: mysql
spec:
type: NodePort
ports:
- port: 3306
targetPort: 3306
nodePort: {{ $nodePort }}
{{ end }}

最新更新