helm-chart3,函数和管道

Posted 名白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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" .)) }}

以上是关于helm-chart3,函数和管道的主要内容,如果未能解决你的问题,请参考以下文章

helm-chart7,调试与hook

已安装 prometheus-community / helm-charts 但我无法获取“默认”命名空间的指标

使用 FFmpeg 通过管道输出视频片段

r 计算管道的步骤(基本片段)

15种Python片段去优化你的数据科学管道

MT63证明不是周期函数