Поместите yaml (как данные) в карту конфигурации

Есть ли способ сохранить данные yaml на карте конфигурации?

В моем values.yaml у меня есть что-то вроде ниже

config:
  filters:
    - kind: Pod
      apiVersion: v1
...

В моей карте конфигурации я сейчас делаю

...
data:
  config.yaml: |-
    {{ .Values.config }}

Но в результате configmap данные «встроены» и отформатированы следующим образом.

...
data:
  config.yaml: >-
    map[filters:[map[apiVersion:v1...

Что не является yaml и, следовательно, не может быть проанализировано приложением, читающим его.

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
1
0
1 398
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Допустим, у вас есть demo-chart:

.
└── demo
    ├── charts
    ├── Chart.yaml
    ├── templates
    │   ├── configmap.yaml
    │   ├── _helpers.tpl
    │   └── NOTES.txt
    └── values.yaml

значения.yaml:

config:
  filters:
    - kind: Pod
      apiVersion: v1

configmap.yaml:

{{- if .Values.config }}
apiVersion: v1
kind: ConfigMap
metadata:
  name: demo-name
data:
  config.yml: |- {{- toYaml .Values.config | nindent 4 }}
{{- end }}

Объяснение: toYaml разобрать данные, загруженные из values.yaml, в YAML и nindent поставить 4 пробела перед каждой строкой.

Проверять:

$ helm template demo
---
# Source: demo/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: demo-name
data:
  config.yml: |-
    filters:
    - apiVersion: v1
      kind: Pod

Это скорее предположение, чем ответ, но пробовали ли вы:

data:
  config.yaml: |-
    config:
      filters:
        - kind: Pod
          apiVersion: v1

Есть разница между >- и |- в ямле.

Другие вопросы по теме