繁体   English   中英

在 Helm 中将字符串转换为 Yaml

[英]Convert a string to Yaml in Helm

我有一个用于部署 spring 服务的舵图,该服务在 YAML 文件中有配置文件。 目前,我的舵图使用以下代码:

模板/configmap.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: account-service-config
data:
  variable.yml:
    {{ range $key, $value := .Values.spring.config.content | indent 4  }}
                            {{ $key | indent 2}}={{ $value }}
                                {{printf "\n" }}
                            {{- end -}}

我有一个values.yaml如下

spring:
  config:
    content: |-
      spring:
        application:
          name: hello
        security:
              abc:
                abc-def: ${url}

问题是,如果我想更改应用程序名称的任何值,我必须像这样重写整个配置:

spring:
  config:
    content: |-
      spring:
        application:
          name: valuechange
        security:
              abc:
                abc-def: ${url}

所以我的问题是,有没有办法在 Helm 模板中将字符串转换为 Yaml。 我希望将其转换为 helm yaml 并通过部署文件中的配置映射注入它。

helm 模板对于许多服务都很常见,因此我无法明确定义值,因为它们对于每个服务都不同,并且我将 values.yaml 覆盖为另一个名为 values.yaml 的文件,位于相应的 Z2A2D595E6ED9A0B24D6ZB7F2 服务存储库中。

您可以像这样使用名为toYaml的 function:

  variable.yml: |-
{{ toYaml .Values.spring.config.content | indent 4 }}

我们在 Hazelcast Helm Chart 中使用了类似的东西。 请在此处查看详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM