如何在 Helm yaml 文件中使用字符串(例如 $log)转义 $ 符号

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

首先,我知道如果是单个

$
符号,我可以用
$$
符号逃脱。我的场景类似于
$log
。我希望按原样打印。

到目前为止我尝试过的事情:

  • 如果我给出
    $log
    ,它将设置一个空字符串
  • 如果我给
    $$log
    ,那么它只会设置
    $
  • 尝试在同一个values.yaml文件中设置为
    env
    ,但结果与上面相同

如何解决这个问题?

更新:

我的价值观文件如下:

fluent-bit:
    env:
      - name: LOGSERVICE_FLB_RULE_DEFAULT_KEY
        value: $log
    image:
    .
    .
    .
        [FILTER]
            Name          rewrite_tag
            Match         kube.*
            Rule          $kubernetes['container_image'] ^.+solr:.+$ format.logging.solr false
            Rule          $kubernetes['container_image'] ^.+zookeeper:.+$ format.logging.zookeeper false
            Rule          ${LOGSERVICE_FLB_RULE_DEFAULT_KEY} ^.*$ format.logging false
            Emitter_Name  re_emitted_with_tag

我的期望是:

    Rule          $kubernetes['container_image'] ^.+solr:.+$ format.logging.solr false
    Rule          $kubernetes['container_image'] ^.+zookeeper:.+$ format.logging.zookeeper false
    Rule          $log ^.*$ format.logging false

但我想说的是:

    Rule          ['container_image'] ^.+solr:.+$ format.logging.solr false
    Rule          ['container_image'] ^.+zookeeper:.+$ format.logging.zookeeper false
    Rule           ^.*$ format.logging false
kubernetes yaml kubernetes-helm
2个回答
0
投票

在评论中发布答案。


尝试重现该问题后,它达到了预期的结果。

唯一可见的区别是所使用的

helm
版本:有问题的是,当我使用
3.5.4
时,它是
3.7.0

更新到最新稳定版本解决了该问题。


0
投票

要转义 Helm value.yaml 中的美元符号,您可以编写以下字符串:

{{ printf "$" }}$$authenticated

这将产生一个输出:

$authenticated
© www.soinside.com 2019 - 2024. All rights reserved.