簡體   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