我是一个非常初学者,所以也许这是一个非常微不足道的静止。 我使用需要yaml文件进行配置的收费。我在yaml文件中使用了一些变量,该变量来自值.yaml文件。 当我尝试使用helm install时出现问题,因为它说:'错误:无法解码"":对象'种类'在'中缺失。我认为它试图用作kubernetes yaml文件。如何跳过此文件以不用作kubernetes配置但包含在包中,因为它在秘密文件中使用: ' {{。Files.Get" config.yaml" | b64enc}}'
答案 0 :(得分:4)
图表中templates/
下的任何内容都被helm解释为k8s资源。尝试将静态非k8s文件放在另一条路径下,例如files/service/config.yaml
。然后,您可以使用{{.Files.Get "files/service/config.yaml" | b64enc}}
将其放入秘密地图中。
如果您想在该文件中使用模板,您必须采用另一种方法并仍将其置于templates/
下,但通过{{- define "my_custom_block" -}}
在块内定义:
<强>模板/服务/ config.yaml:强>
{{- define "my_conf" -}}
Content ..
{{- end -}}
<强>模板/ secret.yaml:强>
---
apiVersion: v1
kind: Secret
metadata:
name: secret-map
type: Opaque
data:
config.yaml: |
{{ include "my_conf" . | b64enc | indent 4 }}
这里有一些关于include
声明的documentation。