2017-08-28 11 views
0

私は非常にヘルムの初心者ですので、これは非常に些細な疑問です。 設定にyamlファイルが必要な料金を使用しています。 yamlファイル内の変数を値.yamlファイルに由来する変数を使用しています。 ヘルムをインストールしようとすると、「エラー:デコードできません」というメッセージが表示されます。「オブジェクトは種類がありません」というメッセージが表示されます。私はそれがkubernetes yamlファイルとして使うことを試みると思う。このファイルをkubernetes設定として使用しないでスキップすることはできますが、パッケージに含める理由は、次のような秘密ファイルで使用されたためです。{'{{.Files.Get "config.yaml" | b64enc}} '。ヘルム設定ファイルが間違って使用されています

+0

'.yaml'ファイルはどこに配置しましたか? – fishi

+0

/templates/service/config.yaml – doktoric

答えて

2

チャート内の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 }} 

ここにいくつかdocumentationincludeのステートメント。

+0

okですが、設定ファイルで{{.Values.service.whatever}}を使用できませんか、その場合も可能ですか? – doktoric

+0

できます。私は例を使って答えを更新しました – fishi

関連する問題