2017-12-04 11 views
0

ヘルムチャートが初めてです。だから私が理解に間違っていたら私を修正してください。私はhelm chartを使って展開しようとしているサービスを持っています。デプロイメント環境に応じて、configマップ名とそのキー値を変更して読み込みます。したがって、values.yamlに条件付きロジックを追加したいと思います。設定マップの名前と値をhelmで動的に設定しますか?

誰かがvalues.yamlに条件付きロジックを追加する方法を説明するドキュメント/リンクを教えてくれますか?

+0

[制御構造](https://github.com/kubernetes/helm/blob/master/docs/chart_template_guide/control_structures.md) – fishi

+0

についてのこのreadmeを確認してください(これらの構造体は 'values.yaml'しかし) – fishi

答えて

0

グラフのvalues.yamlは、環境に関係なく、デフォルト値を設定するために主に使用されます。チャートテンプレートに値を入力するために存在します。テンプレート自体ではないため、values.yamlファイル内に適用できるロジックはありません。

各環境に固有のvalues.yamlファイルが必要です。あなたがチャートを展開するとき、あなたはデフォルト値を上書きするvalues.<env>.yaml特定の環境を使用することができ、

. 
├── Chart.yaml 
├── README 
├── templates 
│   ├── config.yaml 
│   ├── deployment.app.yaml 
│   └── service.app.yaml 
├── values.prod.yaml 
├── values.test.yaml 
└── values.yaml 

:あなたは次のように、チャート自体の中にあるものを格納することができます。テスト環境の場合、これは次のようになります。もちろん

helm upgrade --install my-chart path/to/my/chart --values path/to/my/chart/values.test.yaml 

を、あなたのチャートのディレクトリの外にもvalues.<env>.yamlファイルを格納することができます。チャートのアップグレード/インストール時にそれらを利用できるようにする方法を見つけるだけで、デフォルトのグラフテンプレートvalues.yamlをオーバーライドする必要があります。

関連する問題