Helm 配置文件使用不当

Helm configuration file incorrectly used

我是掌舵的初学者,所以这可能是一个非常微不足道的问题。 我使用需要 yaml 文件进行配置的通行费。我在 yaml 文件中使用了一些变量,该变量来自 values .yaml 文件。 当我尝试使用 helm install 时出现问题,因为那句话:'错误:无法解码“”:对象 'Kind' 丢失在'。我认为它试图用作 kubernetes yaml 文件。我怎样才能跳过这个文件不用作 kubernetes 配置,而是包含在包中,因为它在一个秘密文件中使用: '{{.Files.Get "config.yaml" | b64enc}}'.

图表中 templates/ 下的任何内容都被 helm 解释为 k8s 资源。尝试将静态非 k8s 文件放在另一个路径下,例如 files/service/config.yaml。然后你可以用{{.Files.Get "files/service/config.yaml" | b64enc}}把它放在你的秘密地图里。

如果你想在该文件中使用模板,你必须采取另一种方法并将它仍然放在 templates/ 下,但通过 {{- define "my_custom_block" -}}:[=19= 将它定义在一个块中]

templates/service/config.yaml:

{{- define "my_conf" -}}

Content ..

{{- end -}}

templates/secret.yaml:

---
apiVersion: v1
kind: Secret
metadata:
  name: secret-map
type: Opaque
data:
  config.yaml: |
{{ include "my_conf" . | b64enc | indent 4 }}

这里有一些 documentation 关于 include 声明。