web-dev-qa-db-fra.com

Puis-je avoir plusieurs fichiers values.yaml pour Helm

Puis-je avoir plusieurs values.yaml fichiers dans un tableau de Helm?

Quelque chose comme mychart/templates/internalValues.yaml, mychart/templates/customSettings.yaml, etc?

Accéder aux propriétés dans un values.yaml fichier peut être fait par {{ .Values.property1 }}. Comment pourrais-je référencer les propriétés dans ces custom values.yaml des dossiers?

14
James Isaac

Helm par défaut n'utilisera que le values.yaml fichier dans le répertoire racine de votre graphique.

Vous pouvez lui demander de charger des fichiers de valeurs supplémentaires lors de l'installation. Par exemple, si vous avez des paramètres qui pointent vers différentes bases de données dans différents environnements:

helm install . -f values.production.yaml

Vous pouvez également obtenir un effet similaire en regroupant des paramètres supplémentaires sous forme de fichier et demandant à Helm de lire le fichier fourni . Helm fournit une fonction non documentée par le modèle Yaml qui peut analyser le fichier. En principe, vous pouvez donc faire quelque chose comme:

{{- $v := $.Files.Get "more-values.yaml" | fromYaml }}
foo: {{ $v.bar }}
17
David Maze

Oui, il est possible d'avoir plusieurs fichiers de valeurs avec Helm. Il suffit d'utiliser le --values _ indicateur (ou -f).

Exemple:

helm install ./path --values ./internalValues.yaml --values ./customSettings.yaml

Vous pouvez également transmettre une valeur unique en utilisant --set _ .

Exemple:

helm install ./path --set username=ADMIN --set password=${PASSWORD}

d'après la documentation officielle :

Il existe deux manières de transmettre les données de configuration lors de l'installation:

--values ​​(ou -f): spécifiez un fichier YAML avec des remplacements. Cela peut être spécifié plusieurs fois et le fichier le plus à droite aura priorité

--set (et ses variantes --set-string et --set-file): spécifiez les remplacements sur la ligne de commande.

Si les deux sont utilisés, les valeurs --set sont fusionnées dans - valeurs ayant une priorité supérieure. Les remplacements spécifiés avec --set sont conservés dans une configmap. Les valeurs qui ont été --set peuvent être visualisées pour une version donnée avec helm obtenir des valeurs. Les valeurs qui ont été --set peuvent être effacées en exécutant helm upgrade avec --reset-values ​​spécifié.

12
Ethan Strider