美文网首页
helm-chart3,函数和管道

helm-chart3,函数和管道

作者: 名白 | 来源:发表于2018-07-23 14:13 被阅读0次

    [TOC]

    一个简单的函数

    quote : 引入字符串,具体看示例:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: {{ .Release.Name }}-configmap
    data:
      myvalue: "Hello World"
      drink: {{ quote .Values.favorite.drink }}
     
    

    这里 drink 的值会被渲染为 "tea"(比之前多引号)

    Helm拥有超过60种可用函数。其中一些是由Go模板语言Go template language 本身定义的。其他大多数都是Sprig模板库Sprig template library的一部分。 后边会再介绍几个。

    管道 和几个函数

    类似UNIX 的管道,前者的输出,可以作为后者的输入。

    比如,利用管道,上边的模板可以写成这样:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: {{ .Release.Name }}-configmap
    data:
      myvalue: "Hello World"
      drink: {{ .Values.favorite.drink | quote }}
     
     # upper 函数
      drinkTea: {{ .Values.favorite.drink |upper| quote }}
     
     # repeat 函数
      drinkT: {{ .Values.favorite.drink | repeat 5 | quote }}
      
      
      # default 函数
      drinkT2: {{ .Values.favorite.drink | default "coffee" | quote }}
      
      # 
    

    反转顺序是模板中的常见做法 .val | quote比quote .val更常见

    其结果为: drink:"tea" , drinkTea:"TEA" ,drinkT:"teateateateatea" ,drinkT2:"tea"

    其中 upper 是一个转大写的函数。
    repeat是一个重复渲染输入参数的函数,5是次数。

      defualt 则是指定一个默认值,如果原来的值为null则设为默认值(coffee)。
    

    实际使用中,静态的值应当在values.yaml中定义好,动态计算的值才放在default 里。

    drink: {{ .Values.favorite.drink | default (printf "%s-tea" (include "fullname" .)) }}
    
    

    相关文章

      网友评论

          本文标题:helm-chart3,函数和管道

          本文链接:https://www.haomeiwen.com/subject/lgfjmftx.html