2017-09-02 7 views
1

ヘルムチャートにコンディション以上のものを追加しようとしています。それは間違いを投げている。Kubernetesヘルムチャートコンディションチェックの場合

私はvalues.yamlに値を定義し、conditionのdeployment.yamlにその値を使用しました。

values.yaml

replicaCount: 2 

deployment.yaml

rollingUpdate: 
    maxSurge: 1 
    {{ if gt .Values.replicaCount 2}} 
    maxUnavailable: 0 
    {{ else }} 
    maxUnavailable: 1 
    {{ end }} 

私は結果を確認するために舵予行演習オプションを使用しています。エラーが発生する

Error: render error in "hello-world/templates/deployment.yaml": template: hello-world/templates/deployment.yaml:16:12: executing "hello-world/templates/deployment.yaml" at <gt .Values.replicaCo...>: error calling gt: incompatible types for comparison 

この問題を解決するにはどうすればよいですか?

+0

あなたはこれを解決するために管理していましたか? –

+0

私はタイプキャストを手伝ってもらえますか? – Gnana

答えて

2

は代わりに比べてフロート番号を使用してみてください:

deployment.yaml(基本となるGolangテンプレートとYAMLと一緒に)

rollingUpdate: 
    maxSurge: 1 
    {{ if gt .Values.replicaCount 2.0}} 
    maxUnavailable: 0 
    {{ else }} 
    maxUnavailable: 1 
    {{ end }} 

ヘルムは時々奇妙なことができます。


また、yamlコンフィグ(たとえばポート番号)に値を型キャストする必要があることに注意してください。

例:YAMLの型キャストについて

... 
ports: 
- containerPort: !!int {{ .Values.containers.app.port }} 
... 

より:https://github.com/yaml/YAML2/wiki/Type-casting

+0

私はタイプキャストオプションを試しています。それは動作していません。 {{ - if gt!int {{.Values.replicaCount}}}}}。キャストを入力する方法? – Gnana

関連する問題