helm-模版中的List、loop、map使用方法

样例一、

values.yaml:

image:
  repository: nginx
  tag: 1.7.9
  pullPolicy: IfNotPresent
envs:
  - NET_NAME : "SZ_328"
  - NET_PORT : "5678"

templates/deployment.yaml

apiVersion: extensions/v1beta1
kind: Deployment
          ...
          env:
        {<!-- -->{- range .Values.envs }}
           {<!-- -->{- range $key,$val := . }}  
            - name : {<!-- -->{ $key }}
              value : {<!-- -->{ $val }}
           {<!-- -->{- end}}
        {<!-- -->{- end}}

结果:

$ helm install --dry-run --debug . --tiller-namespace=default
...
# Source: test2/templates/deployment.yaml
apiVersion: extensions/v1beta1
...
          imagePullPolicy: IfNotPresent
          env:  
            - name : NET_NAME
              value : SZ_328  
            - name : NET_PORT
              value : 5678

样例二、

values.yaml:

image:
  repository: nginx
  tag: 1.7.9
  pullPolicy: IfNotPresent
envs:
  - name : NET_NAME 
    value : SZ_328
  - name : NET_PORT 
    value : 5678

templates/deployment.yaml:

apiVersion: extensions/v1beta1
kind: Deployment
          ...
          env:
        {<!-- -->{- range .Values.envs }}
           {<!-- -->{- with . }}  
            - name : {<!-- -->{ .name }}
              value : {<!-- -->{ .value }}
           {<!-- -->{- end}}
        {<!-- -->{- end}}

结果:

$ helm install --dry-run --debug . --tiller-namespace=default
...
# Source: test2/templates/deployment.yaml
apiVersion: extensions/v1beta1
...
          imagePullPolicy: IfNotPresent
          env:  
            - name : NET_NAME
              value : SZ_328  
            - name : NET_PORT
              value : 5678

样例二、

a:、map写法:

server:
  ##extraArgs: {}
  extraArgs:
    storage.local.checkpoint-dirty-series-limit: 5000
    query.max-concurrency: 20

- name: test
  image: busybox:latest
  args:
    - --web.console.templates=/etc/prometheus/consoles
  {<!-- -->{- range $key, $value := .Values.server.extraArgs }}
    - --{<!-- -->{ $key }}={<!-- -->{ $value }}
  {<!-- -->{- end }}

b: 数组写法:

server:
  #extraHostPathMounts: []
  extraHostPathMounts:
     - name: certs-dir-1
       mountPath: /etc/kubernetes/certs
       hostPath: /etc/kubernetes/certs
       readOnly: true
     - name: certs-dir-2
       mountPath: /etc-2/kubernetes/certs
       hostPath: /etc-2/kubernetes/certs
       readOnly: true
 
volumeMounts:
  {{- range .Values.server.extraHostPathMounts }}
    - name: {{ .name }}
      mountPath: {{ .mountPath }}
      readOnly: {{ .readOnly }}
  {{- end }}
 
volumes:
  {{- range .Values.server.extraHostPathMounts }}
    - name: {{ .name }}
      hostPath:
        path: {{ .hostPath }}
  {{- end }}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值