Helm配置文件使用不当

时间:2017-08-28 07:25:48

标签: kubernetes kubernetes-helm

我是一个非常初学者,所以也许这是一个非常微不足道的静止。 我使用需要yaml文件进行配置的收费。我在yaml文件中使用了一些变量,该变量来自值.yaml文件。 当我尝试使用helm install时出现问题,因为它说:'错误:无法解码"":对象'种类'在'中缺失。我认为它试图用作kubernetes yaml文件。如何跳过此文件以不用作kubernetes配置但包含在包中,因为它在秘密文件中使用:     ' {{。Files.Get" config.yaml" | b64enc}}'

1 个答案:

答案 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