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?
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 }}
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é.