【问题标题】:How to avoid translate some `{{` of the helm chart?如何避免翻译舵图的一些`{{`?
【发布时间】:2018-10-16 23:56:14
【问题描述】:

我想将以下 CRD 放入 helm 图表,但它包含原始模板。如何使 helm 不翻译 {{}}rawTemplate 内。感谢您的答复。 https://github.com/kubeflow/katib/blob/master/examples/random-example.yaml

apiVersion: "kubeflow.org/v1alpha1"
kind: StudyJob
metadata:
  namespace: katib
  labels:
    controller-tools.k8s.io: "1.0"
  name: random-example
spec:
 studyName: random-example
 owner: crd
 optimizationtype: maximize
 objectivevaluename: Validation-accuracy
 optimizationgoal: 0.99
 requestcount: 4
 metricsnames:
   - accuracy
 workerSpec:
   goTemplate:
    rawTemplate: |-
      apiVersion: batch/v1
      kind: Job
      metadata:
        name: {{.WorkerId}}
        namespace: katib
      spec:
        template:
          spec:
            containers:
            - name: {{.WorkerId}}
              image: katib/mxnet-mnist-example
              command:
              - "python"
              - "/mxnet/example/image-classification/train_mnist.py"
              - "--batch-size=64"
              {{- with .HyperParameters}}
              {{- range .}}
              - "{{.Name}}={{.Value}}"
              {{- end}}
              {{- end}}
            restartPolicy: Never

【问题讨论】:

标签: go kubernetes kubernetes-helm


【解决方案1】:

在 Go 模板语言中,表达式

{{ "{{" }}

将扩展为两个开放的大括号,用于需要使用 Go 模板语法以 Go 模板语法生成文档的情况;例如

{{ "{{" }}- if .Values.foo }}
- name: FOO
  value: {{ "{{" }} .Values.foo }}
{{ "{{" }}- end }}

(在使用此语法生成 YAML 的 Kubernetes Helm 上下文中,请特别注意处理空格的方式;考虑使用 helm template 转储生成的内容。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多