2017-05-10 4 views
-1

テンプレートを使用してkubernetes展開の特定の部分を設定するヘルムチャートのデザインを作成しました。テンプレートは、クラウド・プロバイダーごとに、次のとおりです。helmの変数の使用(テンプレート)

GCEのテンプレート、AWS用のテンプレートなど

テンプレートその後、ヘルムのチャートの展開部に含まれています。

すべてのテンプレートの名前をクラウドプロバイダーに合わせて指定し、values.yamlの変数を使用してこれを指示します。

そして、if文の束があまりにも少なくなっています。

私はそれが下流のはるかに少ないメンテナンスとコードを必要とするため、かなりの方法を使用したいが、仕事に次を取得することはできません。

{{- include {{.Values.resources.cloudProvider}} .}} 

この文では{{.Values.resources.cloudProvider}}は、私のクラウドプロバイダ名(AWSが含まれています私が得る、GCE、など)

エラーは次のとおりです。

Error: parse error in "testModel/templates/deployment.yaml": 
template: testModel/templates/deployment.yaml:28: 
unexpected "{" in operand 

私がテストした他の方法は次のとおりです。

{{- include (.Values.resources.cloudProvider) .}} 

与える:

Error: render error in "testModel/templates/deployment.yaml": template: 
testModel/templates/deployment.yaml:29:23: 
executing "testModel/templates/deployment.yaml" 
at <.Values.resources.c...>: invalid value; expected string 

テンプレートなどの際に、テンプレート名に変数を使用する方法はありますか?

答えて

2

ヘルム2.4.2を使用しています。この作業は、行を変更することによって

{{ - 含める{{.Values.resources.cloudProvider}}}}

に:

{{ - .Valuesを含みます。 。resources.cloudProvider}}

また、変数を使用することができます。

{{ - $ provider:= .Values.resources.cloudProvider - }}
{{ - include $ provider。 }}

関連する問題