チャットで、私は--set
を介してこのようなオブジェクトを定義する機能について尋ねましたが、悲しいことに真実に直面しました。
env:
- name: ROUTER
value: cake
- name: PASSWORD
value: derp
values.yaml
このようなスタンザを使用して、特定のコンテナー仕様のenv変数全体のニーズを定義するのが好きなので、仕様では次のことだけが必要です。
env:
{{ toYaml .Values.env | indent 10 }}
これが役立つ理由はたくさんあります。
deployment
オブジェクトのようなものを完全に再デプロイすることを心配する必要はありません。残念ながら、これらのタイプのオブジェクトの受け渡しは現在サポートされていません。 今のところ、これを回避するための最善の方法でテンプレートでifステートメントを使用しますが、アプリに関する潜在的に動的な情報の大きな綿棒をvalues.yaml
定義するのは素晴らしいことです。
私は実際にkube-lego
を観察することでこれを行う別の方法を見つけました:
{{- range $key, $value := .Values.config }}
- name: "{{ $key }}"
value: "{{ $value }}"
{{- end }}
私の問題も同様です。
Chartaws-cluster-autoscalerを次の場所で使用します。
https://github.com/kubernetes/charts/tree/master/stable/aws-cluster-autoscaler
--set
を使用して、コマンドラインからautoscalingGroups []。nameを渡し、ファイルparams.yamlを介してその他の情報を渡します。
autoscalingGroups:
- minSize: 2
maxSize: 8
awsRegion: eu-west-1
自動スケーリンググループ名を次のように設定しようとすると、次のようになります。
$ helm upgrade cluster-autoscaler stable/aws-cluster-autoscaler -f params.yaml --set "autoscalingGroups[].name"="nodes.k8s.test.eu-west-1.aws.redacted.net"
しかし、それはうまくいきません。
ドキュメントを読んで、これは知られていますが、それでもこれができるといいでしょう。
最も参考になるコメント
これは、次の構文を使用して可能になりました。
これはここに文書化さ