web-dev-qa-db-fra.com

Tableau des casques Kubernetes en cas de vérification de l'état

J'essaie d'ajouter si grand que la condition dans le graphique Helm. c'est jeter une erreur.

J'ai défini une valeur dans values.yaml et j'utilise cette valeur dans deployment.yaml pour condition.

values.yaml

replicaCount: 2

deployment.yaml

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

J'utilise l'option de marche à sec de la barre pour vérifier le résultat. obtenir une erreur

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

comment régler ceci ?

5
Gnana

Essayez plutôt d'utiliser un nombre flottant en comparaison:

deployment.yaml

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

Le casque (avec les modèles Golang sous-jacents et Yaml) peut parfois être étrange.


Notez également que vous devez parfois taper des valeurs dans vos configurations yaml (par exemple, les numéros de port).

Exemple:

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

En savoir plus sur le casting de type Yaml: https://github.com/yaml/YAML2/wiki/Type-casting

12
hypnoglow