web-dev-qa-db-ja.com

ヘルム値をオーバーライドする方法

私は実際にGradle、Docker、Minikube、Helmを使用した開発環境で作業しています。

私は物事を成し遂げるためにたくさんのbashスクリプトを使用しています。

これまでに達成したことは:

  1. Gradleは、バージョニング用のプラグインを使用してjarをビルドします。
  2. Gradleは、jarジョブで計算された同じバージョンでDockerイメージを構築します。

次に、Gradleによって計算されたバージョンをHelmに伝達できるようにする必要があります。これにより、適切なDockerイメージを選択できるようになります。

私がすでに考えているアプローチは、Helmで使用できるように環境変数を定義することです。

問題は、後で再定義する必要があることです。

それを行うより良い方法はありますか?

5

ほとんどのHelmチャートのvalues.yamlファイルには、少なくとも次のものが含まれています。これにより、デフォルトのDockerイメージタグが設定され、ユーザーはチャートをインストールまたはアップグレードして、チャート自体を変更せずに別のイメージを指定できます。

# values.yaml
image:
  repository: <docker-repo-url-here>
  tag: <docker-image-tag-here>

そして、デプロイメントyamlで、values.yamlから値をフェッチします

# deployment.yaml
kind: Deployment
spec:
  template:
    spec:
      containers:
      - name: container-name
        image: "{{ .Values.image.repository }}:{{ .Values.image.tag}}"

そこから、新しい画像を使用したいときに簡単なhelm upgrade <release-name> <chart-path> --set image.tag=<new-image-tag>を実行できます。

3