• Helm-2: 创建自己的Chart


    首先, 创建一个Chart: helm create mychart
    接下来, 讨论的假设前提是你已经熟悉Go Template的基本用法.

    Flatten

    configSvcName: mysrv
    configSvcUrl: http://example.com
    

    Use Flatten

    name: "{{ .Values.configSvcName }}
    url: "{{ .Values.configSvcUrl }}
    

    Nested

    config:
      svc:
        name: mysrv
        url: http://example.com
    

    Use Nested

    name: "{{ .Values.config.svc.name }}"
    url: "{{ .Values.config.svc.url }}"
    移除左侧/右侧空格: -

    通过在分隔符左侧或右侧增加-, 能够起到移除左侧或右侧所有空白的效果, 例如:

    "{{23 -}} < {{- 45}}"
    

    生成的字符串是:

    23<45
    

    此外, -也可以用来减少空格浪费的空间, 例如一些带缩进的控制语句if/else/with/for等, 本身不会嵌入到最终生成的YAML中, 但我们为了查看方便, 会对其增加缩进和换行, 这些空白没有必要带进最终渲染出的YAML中:

    {{- with .Values.affinity }}
      affinity:
        {{- toYaml . | nindent 8 }}
    {{- end }}
    

    需要注意, 换行本身也是空白字符!

    管道: |

    与Linux下的命令管道类似, Go Template中同样也可以使用管道, 例如:

    {{ "abc" | upper }}
    

    生成:

    ABC
    

    转义字符串: quote

    yaml在处理数字,字符串和注释时存在微妙的变化, 为了安全的转义它们, 可以使用quote:

    {{ .Values.text | quote }}
    

    {{ quote .Values.text }}
    

    左侧增加N个空格缩进: nindent N

    由于yaml通过缩进来区分层级, 在编写Kubernetes的yaml文件时, 可以结合 - 和 nindent, 来精确的制造偏移, 防止直接编辑空格出现失误, 而肉眼难以检查.

    affinity:
      {{- toYaml . | nindent 8 }}
    

    默认值: default XXX

    drink: {{ .Values.favorite.drink | default "tea" | quote }}
    
  • 相关阅读:
    Qt程序使用Win32 API发送ZPL指令与斑马打印机通信
    Eclipse构建Maven项目
    编码风格 缩进和空白
    Linux下Tomcat重新启动
    linux下tomcat服务的相关命令
    第一天
    Day1NLP_机器翻译
    Day4_attention is all you need 论文阅读下篇
    Day_7tensorflow 实战
    Day5_python学习
  • 原文地址:https://www.cnblogs.com/qianyuming/p/12773785.html
Copyright © 2020-2023  润新知