2017-09-02 2 views
1

Ich versuche hinzufügen, wenn groß als Bedingung in Helm Diagramm. es ist Fehler werfen.Kubernetes Helm Diagramm Wenn Condition Check

Ich habe Wert in values.yaml definiert und diesen Wert in deployment.yaml für Bedingung verwendet.

values.yaml

replicaCount: 2 

deployment.yaml

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

I Helm Trockenlauf Option bin mit Ergebnis zu überprüfen. Fehler erhalten

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 

wie Sie das beheben?

+0

Haben Sie es geschafft, dieses Problem zu lösen? –

+0

Kannst du mir helfen, Guss zu machen? – Gnana

Antwort

2

Versuchen Float-Zahl im Vergleich anstelle: kann

deployment.yaml

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

Helm (zusammen mit dem zugrunde liegenden Golang Vorlagen und Yaml) manchmal seltsam.


Beachten Sie auch, dass manchmal müssen Sie die Werte in Ihrem yaml configs typisieren (z Portnummern).

Beispiel:

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

Mehr über Yaml Art Casting: https://github.com/yaml/YAML2/wiki/Type-casting

+0

Ich versuche mit Typ Casting-Option. es funktioniert nicht. es wirft einen Fehler. {{- if gt !! int {{.Values.replicaCount}} 1}}. Wie schreibt man? – Gnana

Verwandte Themen