[英]How can I escape $ sign with a string (Ex $log) in Helm yaml file
首先,我知道如果它是一個單一的$
符號,我可以用$$
符號逃脫。 我的場景類似於$log
。 我希望按原樣打印。
到目前為止我嘗試過的事情:
$log
,它將設置一個空字符串$$log
,那么它只會設置$
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
能否提供模板和值。yaml?
像這樣:
值。yaml
env:
test1: $log
test2: "$log"
log: test
模板/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "test.fullname" . }}
data:
test1: {{ .Values.env.test1 }}
test2: {{ .Values.env.test2 }}
test3: "$log"
test4: $log
test5: {{ print "$log" }}
output:
apiVersion: v1
kind: ConfigMap
metadata:
name: test
data:
test1: $log
test2: $log
test3: "$log"
test4: $log
test5: $log
從評論中發布答案。
嘗試重現該問題后,它按預期結果工作。
唯一明顯的區別是使用的helm
版本:有問題的是3.5.4
而我使用的是3.7.0
。
更新到最后一個穩定版本解決了這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.