Helm Chart - 如何从 values.yaml 设置 configMap?

问题描述 投票:0回答:1

我有一个来自我的弹簧配置的文件

application.yaml
。我想在 ConfigMap 中重用这个文件。我在 Helm 的
values.yaml
中定义了这些属性,然后在
configmap.yaml
.

中读取它们

这里是所有的文件:

application.yaml

invoice:
  catalog-service-uri: http://catalog-service
spring:
  flyway:
    url: jdbc:postgresql://invoice-postgres/invoice_order
  r2dbc:
    url: r2dbc:postgresql://invoice-postgres/invoice_order
  rabbitmq:
    host: invoice-rabbitmq
  security:
    oauth2:
      resourceserver:
        jwt:
          issuer-uri: http://ecomm-keycloak/realms/EcommRealm

values.yaml

configMapData:
  application.yaml: |-
    invoice:
      catalog-service-uri: http://catalog-service
    spring:
      flyway:
        url: jdbc:postgresql://invoice-postgres/invoice_order
      r2dbc:
        url: r2dbc:postgresql://invoice-postgres/invoice_order
      rabbitmq:
        host: invoice-rabbitmq
      security:
        oauth2:
          resourceserver:
            jwt:
              issuer-uri: http://ecomm-keycloak/realms/EcommRealm

configmap.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: order-config
  labels:
    app: order-service
data:
  {{- range $key, $value := .Values.configMapData }}
    {{ $key }}: |-
      {{ $value | indent 4 }}
  {{- end }}

使用此配置,我收到错误消息:

msg: '解组资源错误:将 YAML 转换为 JSON 时出错:yaml: 第 7 行: 没有找到预期的节点内容'

这个配置有什么问题? 有没有更好的方法来做同样的事情?

任何帮助将不胜感激。

谢谢

yaml kubernetes-helm configmap
1个回答
0
投票

试试这个:

apiVersion: v1
kind: ConfigMap
metadata:
  name: order-config
  labels:
    app: order-service
data:
  {{- .Values.configMapData | toYaml | nindent 2 }}
© www.soinside.com 2019 - 2024. All rights reserved.