首先,挪走自带的values.yaml
$ helm create my-template
$ cd my-template
$ mv values.yaml values.yaml.bak
然后,写一个自定义的值
$ cat > values.yaml <<EOF
myname: aming
EOF
调用上面自定义变量的方法为:
{{ .Values.myname}}
在configmap.yaml里调用
$ cp -r templates/ templates.bak ##先备份一下template目录
$ rm -rf templates/* ##删除掉所有模板文件
cat > templates/configmap.yaml << EOF
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-configmap
data:
myvalue: "Hello World"
myname: {{ .Values.myname }}
EOF
查看渲染效果
$ helm template testrelease . ## 当前目录是在测试的chart里面,假定release名字为testrelease

但是,这个myname值是会被--set参数覆盖的,例如:
$ helm template testrelease . --set myname=aminglinux

继续修改values.yaml内容
$ cat > values.yaml <<EOF
myname: aming
service:
type: ClusterIP
port: 80
EOF
要调用上面的type,需要引用{{ Vlues.service.type}}
定义service.yaml
$ cat > templates/service.yaml <<EOF
apiVersion: v1
kind: Service
metadata:
name: testserivce
labels:
app: myapp
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.port }}
targetPort: http
protocol: TCP
name: http
EOF
查看渲染效果
$ helm template testrelease .
