2017-09-02 87 views
1

我想添加,如果偉大條件在頭盔圖表。它是拋出錯誤。Kubernetes頭盔圖表如果條件檢查

我已經在values.yaml中定義了值,並在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

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

頭盔(與下面的Golang模板和YAML一起)可以是怪異有時。


此外,請注意,有時您需要在yaml配置(例如端口號)中輸入配置值。

例子:

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

更多關於YAML型鑄造:https://github.com/yaml/YAML2/wiki/Type-casting

+0

我正在嘗試使用類型轉換選項。它不工作。它是拋出錯誤。{{ - if gt !! int {{.Values.replicaCount}} 1}}。如何輸入演員? – Gnana