Helmチャートに複数のvalues.yaml
ファイルを含めることはできますか?
mychart/templates/internalValues.yaml
、mychart/templates/customSettings.yaml
などのようなものですか?
values.yaml
ファイルのプロパティにアクセスするには、{{ .Values.property1 }}
を使用します。これらのカスタムvalues.yaml
ファイルのプロパティをどのように参照しますか?
Helmはデフォルトで、チャートのルートディレクトリにあるvalues.yaml
ファイルのみを使用します。
インストール時に追加の値ファイルをロードするように要求できます。たとえば、異なる環境の異なるデータベースを指す設定がある場合:
helm install . -f values.production.yaml
追加の設定をファイルとしてバンドルし、 Helmにバンドルされたファイルの読み取りを要求する によって、同様の効果を得ることができます。 Helmには Yamlテンプレート関数から文書化されていない が用意されており、ファイルを解析できるため、原則として次のようなことができます。
{{- $v := $.Files.Get "more-values.yaml" | fromYaml }}
foo: {{ $v.bar }}
はい、Helmで複数の値ファイルを持つことができます。 --values
フラグを使用するだけです(または-f
)。
例:
helm install ./path --values ./internalValues.yaml --values ./customSettings.yaml
--set
を使用して単一の値を渡すこともできます。
例:
helm install ./path --set username=ADMIN --set password=${PASSWORD}
インストール中に構成データを渡す方法は2つあります。
--values(または-f):オーバーライドでYAMLファイルを指定します。これは複数回指定でき、右端のファイルが優先されます
--set(およびそのバリアント--set-stringおよび--set-file):コマンドラインでオーバーライドを指定します。
両方を使用する場合、-set値はより高い優先度で--valuesにマージされます。 --setで指定されたオーバーライドは、configmapに保持されます。 --setされた値は、helm get valuesを使用して特定のリリースで表示できます。 --setされた値は、-reset-valuesを指定してhelm upgradeを実行することによりクリアできます。