helm-chart3,函数和管道

[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" .)) }}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 接着上节 mutex,本节主要介绍atomic的内容,练习代码地址。本文参考http://www.cplusplu...
    jorion阅读 74,191评论 1 14
  • Scala与Java的关系 Scala与Java的关系是非常紧密的!! 因为Scala是基于Java虚拟机,也就是...
    灯火gg阅读 3,618评论 1 24
  • 介绍 Jinja是基于python的模板引擎,功能比较类似于于PHP的smarty,J2ee的Freemarker...
    ZhouLang阅读 8,355评论 0 2
  • 使用Gin构建Go Web应用程序和微服务 原文链接:https://semaphoreci.com/commun...
    devabel阅读 16,046评论 2 28
  • 到楼下取快递。在纸上记下了取件码,笔也顺手拿了出去。取了快递后,在楼下的草坪上逗留了一会儿。 外面是有阳光的,刚从...
    Rabbit622阅读 541评论 1 9

友情链接更多精彩内容