2017-09-02 45 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