Установите значения ConfigMap непосредственно из values .yaml в helm

#kubernetes-helm #configmap

#kubernetes-helm #configmap

Вопрос:

Я пытаюсь создать данные ConfigMap непосредственно из значений.yaml в helm

Мои значения.yaml

 myconfiguration: |-
key1: >
  { "Project" : "This is config1 test"
  }
key2 : >
  {
    "Project" : "This is config2 test"
  }
  

И ConfigMap

 apiVersion: v1
kind: ConfigMap
metadata:
  name: poc-secrets-configmap-{{ .Release.Namespace }}
data:
{{.Values.myconfiguration | indent 1}} 
  

Но данные пусты при проверке в модуле

 Name:         poc-secrets-configmap-xxx
Namespace:    xxx
Labels:       app.kubernetes.io/managed-by=Helm
Annotations:  meta.helm.sh/release-name: poc-secret-xxx
              meta.helm.sh/release-namespace: xxx

Data
====
Events:  <none>
  

Кто-нибудь может предложить

Ответ №1:

В ваших значениях отсутствуют отступы.файл yaml, проверьте многострочность YAML

 myconfiguration: |-
  key1: >
    { "Project" : "This is config1 test"
    }
  key2 : >
    {
      "Project" : "This is config2 test"
    }
  

Кроме того, предлагаемый синтаксис для файлов YAML заключается в использовании 2 пробелов для отступов, поэтому вы можете изменить свою configmap на {{.Values.myconfiguration | indent 2}}