yaml 中的双大括号

晕菜了,刚接触yaml,这个语法挺简单的,但是工作中的yaml里一大堆关键字或者表达式都不是yaml里的,类似这些都是什么意思,{{ }} 是什么东西,是嵌套了其他语法还是什么模板?

1 name: {{ template "data.name" . }}-key-init
2 {{- include "date.labels" . | nindent 4 }}
3 关键字 template

code

{{ if (.Values.cmkey.enable) }}
apiVersion: batch/v1
kind: Job
metadata:
  name: {{ template "date.name" . }}-key-init
  labels: {{- include "date.labels" . | nindent 4 }}
  annotations:
    {{- $annotationsDict := dict }}
    {{- $_ := set $annotationsDict "meta.helm.sh/release-name" .Release.Name }}
    {{- $_ := set $annotationsDict "meta.helm.sh/release-namespace" .Release.Namespace }}

    {{- $baseAnnotations := include "date.baseAnnotations" . | fromYaml  -}}
    {{- include "xxx.mergeAnnotations" (dict "location" .Template.Name "sources" (list $annotationsDict $baseAnnotations)) | trim | nindent 4 }}
spec:
  template:
.。。。。。。。。。。。




这不是yaml的语法,而是其他语言动态解析所需的格式。比如python

python字符串中 两个大括号 {{}} 的意思和解释_滕青山YYDS的博客-CSDN博客_python 双大括号 解答在使用'hello {name}.format(name='world')'的时候大括号是特殊字符,如果需要显示大括号,用{{代替{, 用}}代替}, 如下:>>> 'hello {{worlds in braces!}}, {name}'.format(name='zhangsan')'hello {worlds in braces!}, zhangsan'因此使用.format格式化字符串时,{{}}其实就是表示输出{}。参考:python字符串中包含大括 https://tengqingshan.blog.csdn.net/article/details/113129472?spm=1001.2101.3001.6650.10&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-10-113129472-blog-113509071.pc_relevant_aa&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-10-113129472-blog-113509071.pc_relevant_aa&utm_relevant_index=15