gpt4 book ai didi

kubernetes - 在Helm values属性中传递数组

转载 作者:行者123 更新时间:2023-12-02 11:31:06 27 4
gpt4 key购买 nike

我想将数组作为属性传递给Helm中的yaml(值文件)。我试过的

  • 尝试。
    elasticsearch:
    uri: "[\"127.0.0.1:9200\",\"127.0.0.2:9200\"]"

    错误:

    ReadString: expects " or n, but found [, error found in #10 byte of ...|RCH_URL":["127.0.0.1|..., bigger context ...|{"apiVersion":"v1","data":{"ELASTIC_SEARCH_URL": ["127.0.0.1:9200","127.0.0.2:9200"],"LOGS_ENV_PREFI|...

  • 尝试。根据official helm site如何传递数组
    elasticsearch:
    --set uri={127.0.0.1:9200,127.0.0.2:9200}

    有错误:

    error converting YAML to JSON: yaml: line 15: mapping values are not allowed in this context

  • 尝试。
     elasticsearch:
    uri:
    - 127.0.0.1:9200
    - 127.0.0.2:9200

    失败,原因与1.相同。

  • 编辑:
    实际上,在我的情况下,然后在YAML文件中未使用helm值,所以我需要另一种格式,最后解决方案是将uri作为带单引号的字符串传递:
     elasticsearch:
    uri: '["127.0.0.1:9200","127.0.0.2:9200"]'

    不过,@ Marcin的答案是正确的。

    最佳答案

    您可以使用老式的json方式传递值数组:

    elasticsearch:
    uri: ["127.0.0.1:9200", "127.0.0.2:9200"]

    或yaml所介绍的方式:
    elasticsearch:
    uri:
    - 127.0.0.1:9200
    - 127.0.0.2:9200

    然后,您可以使用 range访问Helm模板中的值:
    Uris:{{- range .Values.elasticsearch.uri }}
    {{.}}{{- end }}

    解析为:
    Uris:
    127.0.0.1:9200
    127.0.0.2:9200

    关于kubernetes - 在Helm values属性中传递数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58028761/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com