helm工作笔记二之语法

helm工作笔记二之语法

default 表示默认值,如果没有定义则会被引用

quote 表示加引号。

-表示缩进换行,不然会有空格:

        {{- if eq .Values.test "123" }}
        test: a
        {{- else }}
        test: b
        {{- end }}

eq 是等于
判断语句只能支持eq

with可以指定变量范围:

      {{- with .Values.nodeSelector }}
      nodeSelector:
        {{- toYaml .| nindent 8 }}
      {{- end }}

toYaml是一个函数,指定映射路径并全部取出。

nindent 加n表示加换行,nindent 8 换行后加8个空格。

indent 不加n表示不加换行。

循环

  {{- range .Values.test }}
    {{ . }}
  {{- end }}

定义变量:
在with中引用全局变量:
方法一:
加$:
{{- with .Values.nodeSelector }}
nodeSelector:
app: {{ $.Release.Name }}
方法二:
在with之外做变量赋值:
{{- $releaseName := .Release.Name -}}
{{- with .Values.nodeSelector }}
nodeSelector:
app: {{ $releaseName }}

循环加变量:
在values.yaml中定义:
env:
NODEJS: “Xxx”
SERV: “nodejs”
在 templates/deployment.yaml 中:
env:
{{- range k e y , key, key,value := .Values.env }}
- name: {{ $key }}
value: {{ $value }}
{{- end }}
结果:
- name: NODEJS
value: Xxx
- name: SERV
value: nodejs

命名模板:
[root@node217 test]# cat templates/_helpers.tpl
{{- define “name” -}}
{{ .Chart.Name }}-{{ .Release.Name }}
{{- end -}}

{{- define “labels” -}}
app: {{ template “name” . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
release: {{ .Release.Name }}
{{- end -}}

调用公共模板:
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
{{- include “labels” . | nindent 4 }}
name: {{ template “name” . }}

注意这里的template和include的区别,template后面不能跟|函数的,而include可以

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值