zoukankan      html  css  js  c++  java
  • helm-chart3,函数和管道

    一个简单的函数

    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" .)) }}
    
    
  • 相关阅读:
    线性表的顺序存储结构
    Arrays数组类使用介绍
    collection各实现类用途建议
    【转】数据结构collection接口和map接口架构图
    java 面向对象特性说明
    文件的输入输出操作IO
    sql 约束用法
    select into 在mysql中失效的替换办法
    inner join 、left join 、right join 和full join的区别
    Tomcat 启动过程
  • 原文地址:https://www.cnblogs.com/mingbai/p/chart3.html
Copyright © 2011-2022 走看看