Flux Kustomize下如何保留Kibana配置中的字符串变量?
解决ECK Kibana配置中字面量变量转义问题
要让/var/log/containers/*${kubernetes.container.id}.log作为字面量写入配置,避免被识别为变量进行替换,可以通过**双美元符号$$转义$**的方式实现,配置写法如下:
paths: - '/var/log/containers/*$$${kubernetes.container.id}.log'
原理说明
Flux(或ECK Operator)在处理配置时会对$开头的内容进行变量替换,使用$$会被解析为单个字面量$,同时保留后续的${kubernetes.container.id}作为文本内容,不会触发变量替换逻辑。
其他尝试的问题分析
- 单引号外层加双引号:额外的引号会被当作内容的一部分,不符合最终显示需求
- 仅用双引号:双引号内的
$仍会被工具识别为变量起始符,触发替换逻辑 - 用
\\转义$:YAML中的\仅对YAML语法生效,无法规避工具的变量替换逻辑,还会引入多余的\字符 - 变量部分加双引号:依然会被识别为变量替换目标,无法保留原文本结构
内容的提问来源于stack exchange,提问作者Sh3perd
相关产品推荐
相关产品推荐

