你好,
我在尝试使用头盔部署configmap时遇到问题。 问题解释如下。
假设我有头盔图,其文件夹结构如下。
├──图表
├──Chart.yaml
├──conf
│└──tee.xml
├──模板
│└──ConfigMap.yaml
└──values.yaml
tee.xml如下所示。
<note>
<to>Tove</to>
<from>${name}</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
ConfigMap.yaml如下所示。
apiVersion: v1
kind: ConfigMap
metadata:
name: mytest-var
xml:
{{ .Values.from }}
data:
{{- $file := .Files }}
{{- $var := .Values.from }}
{{- range $path, $byte := .Files.Glob "conf/*" }}
{{- $list := $path | splitList "/"}}
{{- $length := len $list }}
{{- $last := add $length -1 }}
{{ index $list $last }}: |-
{{- range $file.Lines $path }}
{{ . }}
{{- end }}
{{- end }}
values.yaml的一部分如下所示。
from: Shashi
当我运行helm install命令时,我想从values.yaml中设置的值替换位于tee.xml文件( <from>${name}</from>
)中的值${name}
。 可以使用头盔吗?如果可以,请您帮我进行相关更改吗?
你好,
我可以使用“替换”找到上述问题的解决方案。 我已在下面附上了相关的头盔文件。
ConfigMap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: mytest-var
xml:
{{ .Values.from }}
data:
{{- $file := .Files }}
{{- $var := .Values.from }}
{{- range $path, $byte := .Files.Glob "conf/*" }}
{{- $list := $path | splitList "/"}}
{{- $length := len $list }}
{{- $last := add $length -1 }}
{{ index $list $last }}: |-
{{- range $line := $file.Lines $path }}
{{ $line | replace "John" $var }}
{{- end }}
{{- end }}
tee.xml
<note>
<to>Tove</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
values.yaml的一部分
from: Cigra
通过运行helm install,我们可以创建配置映射,该配置映射将替换为“
请告诉我这是正确的方法吗?
如果可行,则可行。 使用replace
替换给定字符串中子字符串的每个实例对我来说都是明智的。
我同意-在这种情况下,使用replace
听起来是一个不错的选择。
鉴于此解决方案有效, @ KavinduZoysa让我继续解决此问题。 如果此操作与预期不符,或者您有任何其他相关问题,请随时重新打开。 谢谢!
最有用的评论
你好,
我可以使用“替换”找到上述问题的解决方案。 我已在下面附上了相关的头盔文件。
ConfigMap.yaml
tee.xml
values.yaml的一部分
from: Cigra
通过运行helm install,我们可以创建配置映射,该配置映射将替换为“约翰 ”中的“ Cigra”一词
请告诉我这是正确的方法吗?