当前位置: 首页 > news >正文

淮安网站建设费用外国人学做中国菜的网站

淮安网站建设费用,外国人学做中国菜的网站,桂林生活网发布信息,响应式网站开发软件模板函数和流水线 到目前为止#xff0c;我们已经知道了如何将信息传到模板中。但是传入的信息并不能被修改。有时我们希望以一种更有用的方式来转换所提供的数据。 让我们从一个最佳实践开始#xff1a;可以通过调用模板指令中的quote函数把 .Values对象中的字符串属性用引…模板函数和流水线 到目前为止我们已经知道了如何将信息传到模板中。但是传入的信息并不能被修改。有时我们希望以一种更有用的方式来转换所提供的数据。 让我们从一个最佳实践开始可以通过调用模板指令中的quote函数把 .Values对象中的字符串属性用引号引起来然后放到模板中。 apiVersion: v1 kind: ConfigMap metadata: name: {{ .Release.Name }}-configmap data: myvalue: Hello World drink: {{ quote .Values.favorite.drink }} food: {{ quote .Values.favorite.food }} apiVersion: v1 kind: ConfigMap metadata:name: {{ .Release.Name }}-configmap data:myvalue: Hello Worlddrink: {{ quote .Values.favorite.drink }}food: {{ quote .Values.favorite.food }} 模板函数的语法是 functionName arg1 arg2...。在上面的代码片段中quote .Values.favorite.drink 调用了quote函数并传递了一个参数(.Values.favorite.drink)。 Helm有超过60个可用函数。其中有些通过 Go模板语言 本身定义。其他大部分都是 Sprig模板库 。我们可以在示例看到其中很多函数。 template package - text/template - Go Packages Sprig Function Documentation | sprig 小贴士当我们讨论“Helm模板语言”时感觉它是Helm专属的实际上它是Go模板语言、一些额外的函数和用于向模板暴露某些对象的装饰器组合而成的。很多Go模板的资料也有助于您学习模板。 管道符 模板语言其中一个强大功能是管道概念。借鉴UNIX中的概念管道符是将一系列的模板语言紧凑地将多个流式处理结构合并的工具。换句话说管道符按顺序完成一系列任务的方式。现在用管道符重写上述示例 apiVersion: v1 kind: ConfigMap metadata: name: {{ .Release.Name }}-configMap data: myvalue: Hello World drink: {{ .Values.favorite.drink | quote }} food: {{ .Values.favorite.food | quote }} apiVersion: v1 kind: ConfigMap metadata:name: {{ .Release.Name }}-configmap data:myvalue: Hello Worlddrink: {{ .Values.favorite.drink | quote }}food: {{ .Values.favorite.food | quote }} 在这个示例中并不是调用quote参数而是倒置了命令。使用管道符将参数”发送“给函数.Values.favorite.drink | quote。使用管道符可以将很多函数链接在一起 apiVersion: v1 kind: ConfigMap metadata: name: {{ .Release.Name }}-configmap data: myvalue: Hello World drink: {{ .Values.faforite.drink | quote }} food: {{ .Values.favorite.food | upper | quote }} apiVersion: v1 kind: ConfigMap metadata:name: {{ .Release.Name }}-configmap data:myvalue: Hello Worlddrink: {{ .Values.favorite.drink | quote }}food: {{ .Values.favorite.food | upper | quote }} 小贴士倒置命令是模板中的常见做法。可以经常看到 .val | quote 而不是quote .val。实际上两种操作都是可以的。 模板会生成以下内容 # Source: mychart/templates/configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: trendsetting-p-configmap data: myvalues: Hello World drink: coffee food: PIZZA 注意原有的pizza现在已经被转换成了PIZZA。当管道符参数类似这样的时候第一个表达式的结果.Values.favorite.drink | upper 的结果作为了quote的最后一个参数。也可以修改上述示例用两个参数的函数来阐述repeat COUNT STRING: apiVersion: v1 kind: ConfigMap metadata: name: {{ .Release.Name }}-configmap data: myvalues: Hello World drink: {{ .Values.favorite.drink | repeat 5 | quote }} food: {{ .Values.favorite.food | upper | quote }} apiVersion: v1 kind: ConfigMap metadata:name: {{ .Release.Name }}-configmap data:myvalue: Hello Worlddrink: {{ .Values.favorite.drink | repeat 5 | quote }}food: {{ .Values.favorite.food | upper | quote }} repeat函数会返回给定特定的次数则可以得到以下结果 # Source: mychart/template/configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: melting-porcup-configmap data: myvalue: Hello World drink: coffeecoffeecoffeecoffeecoffee food: PIZZA # Source: mychart/templates/configmap.yaml apiVersion: v1 kind: ConfigMap metadata:name: melting-porcup-configmap data:myvalue: Hello Worlddrink: coffeecoffeecoffeecoffeecoffeefood: PIZZA 使用default函数 模板中频繁使用的一个函数是default: default DEFAULT_VALUE GIVEN_VALUE。这个函数允许您在模板中指定一个值以防止这个值被忽略。现在使用它修改上述示例 drink: {{ .Values.favorite.drink | default tea | quote }} 如果运行会得到coffee # Source: mychart/templates/configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: virtuous-mink-configmap data: myvalue: Hello World drink: coffee food: PIZZA # Source: mychart/templates/configmap.yaml apiVersion: v1 kind: ConfigMap metadata:name: virtuous-mink-configmap data:myvalue: Hello Worlddrink: coffeefood: PIZZA 现在从values.yaml中移除设置 favorite: # drink: coffee food: pizza favorite:#drink: coffeefood: pizza 现在重新运行helm install --dry-run --debug fair-worm ./mychart会生成如下内容 # Source: mychart/templates/configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: fair-worm-configmap data: myvalue: Hello World drink: tea food: PIZZA # Source: mychart/templates/configmap.yaml apiVersion: v1 kind: ConfigMap metadata:name: fair-worm-configmap data:myvalue: Hello Worlddrink: teafood: PIZZA 在实际的chart中所有的静态默认值应设置在values.yaml中且不应该重复使用default命令否则会出现冗余。然而这个default命令很适合计算值其不能声明在values.yaml文件中比如 drink: {{ .Values.favorite.drink | default (printf %s-tea (include fullname .)) }} drink: {{ .Values.favorite.drink | default (printf %s-tea (include fullname .)) }} 有些场景if条件比default更加适合。在下一章节我们就会看到。 模板函数和管道符是转换信息然后将其插入到YAML中的强有力方式。但是有些时候我们需要插入一些内容之前进行一些逻辑判断而不仅仅是插入一个字符串。下一章节我们会看到模板语言提供的控制结构。 使用lookup函数 lookup函数可以用于在运行的集群中查找资源。lookup函数简述为查找apiVersion,kind,namespace,name -资源或者资源列表。 parameter type apiVersion string kind string namespace string name string parametertypeapiVersionstringkindstringnamespacestringnamestring name和namespace都是选填的且可以传空字符串作为空。 以下是可能的参数组合 命令 Lookup函数 kubectl get pod mypod -n mynamespace lookup v1 Pod mynamespace mypod kubectl get pods -n mynamespace lookup v1 Pod mynamespace kubectl get pods --all-namespace lookup v1 pod kubectl get namespace mynamespace lookup v1 Namespace mynamespace kubectl get namespace lookup v1 Namespace 命令Lookup 函数kubectl get pod mypod -n mynamespacelookup v1 Pod mynamespace mypodkubectl get pods -n mynamespacelookup v1 Pod mynamespace kubectl get pods --all-namespaceslookup v1 Pod kubectl get namespace mynamespacelookup v1 Namespace mynamespacekubectl get namespaceslookup v1 Namespace 当lookup返回一个对象列表时可以通过items字段访问对象列表 {{ range $index, $service : (lookup v1 Service mynamespace ).items }} {{/* do something with each service */}} {{ end }} {{ range $index, $service : (lookup v1 Service mynamespace ).items }}{{/* do something with each service */}} {{ end }} 当对象未找到时会返回空值。可以用来检测对象是否存在。 lookup函数使用Helm已有的Kubernetes链接配置查询Kubernetes。当与调用API服务交互时返回了错误比如缺少资源访问的权限helm的模板操作会失败。 请记住Helm在helm template或者helm install|upgrade|delete|rollback --dry-run时不应该请求Kubernetes API服务。由此lookup函数在该案例中会返回空列表即字典。 运算符也是函数 对于模板来说运算符eqneltgtandor等等都是作为函数来实现的。在管道符中操作可以按照圆括号分组。 现在我们可以从函数和管道符返回到条件控制流循环和范围修饰符。 ———————————— 仅用于本人学习 来源Helm | Docs
http://www.zqtcl.cn/news/396176/

相关文章:

  • 优秀专题网站恩施北京网站建设
  • 常用网站后缀企业网站用什么域名
  • 网站建设定制公众号小程序51ppt模板免费下载完整版免费ppt
  • 个人网站工商备案济南建网站app
  • 佛山网站建设公司哪家性价比高2018建设网站
  • 公司建一个网站建设工程教育网网址
  • 一级a做爰片免播放器网站推广渠道包括哪些
  • 南京市建设工程档案馆网站新乡市四合一网站建设
  • 网站建设制作周期咸宁网站设计制作
  • 网站推广营销联系方式南宁做网站推广的公司
  • 深圳网站建设公司元红河网站建设代理
  • 商丘河南网站建设Wordpress加720云vr
  • 上海网站建设公司网站建设网络推广费用高吗
  • 南宁学做网站百度电脑版
  • 公司网站建设工作通知怎样看一个网站做的网络广告
  • 普洱市住房和城乡建设局网站最有创意的广告设计
  • 网站开发者常见问题网站建设鸿儒
  • 米方科技网站建设个人可以做外贸网站吗
  • 如何做别人网站镜像自建wordpress主题
  • 临沂网站制作平台网站开发的软硬件环境
  • 假冒中国建设银行的网站网站开发 避免 字段变化 代码
  • 如何取消网站备案搜索seo怎么优化
  • 网站备案系统验证码出错网站的电子画册怎么做
  • 厦门企业网站建设方案企业网站硬件设计
  • 做网站推广的方法有哪些高级服装定制网站
  • 网站的百度地图怎么做的广告设计与制作发展趋势
  • 东莞网站建设兼职平面磨床东莞网站建设
  • 北京购物网站建设佛山外贸网站建设咨询
  • 网站图片在手机上做多大最清晰wordpress 表情拉长
  • 深圳住房宝安和建设局网站做网站的软件是是什么