0Pricing
DevOps Bootcamp · レッスン

コンテナイメージをパラメーター化する

イメージの Repository と Tag を Values に結び付けます。

「コンテナイメージをパラメーター化する」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。

イメージをパラメーター化する理由

イメージをハードコードすると、すべてのユーザーが 1 つのバージョンに固定されます。image を values に接続すれば、必要なリポジトリとタグを選べるようになります。

リポジトリとタグを分ける

一般的に、チャートではイメージを 2 つのフィールド、repository と tag で管理します。分けておくとバージョン更新を簡単に行えます。

# values.yaml
image:
  repository: nginx
  tag: "1.27"

ネストされた Values を読み取る

ドットをつなげることで、ネストされたキーにアクセスできます。ここでは .Values.image.repository によって、先ほど定義した image マップの内部にたどり着いています。

image: {{ .Values.image.repository }}

リポジトリとタグを結合する

イメージ参照は、リポジトリ、コロン、タグの順で構成されます。テンプレート内で組み立てることで、レンダリング後の行を 1 つの有効な文字列にします。

image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"

タグは必ず引用符で囲む

1.27 のようなタグは、YAML によって数値として解釈されることがあります。values 内のタグを引用符で囲み、文字列として扱われるようにしてください。末尾のゼロが失われることもありません。

tag: "1.27.0"

適切なデフォルトタグを指定する

default 関数は、値が空の場合に代替値を提供します。チャートの appVersion をデフォルトタグに使うのが一般的なパターンです。

{{ .Values.image.tag | default .Chart.AppVersion }}

プルポリシーを公開する

imagePullPolicy もパラメーター化して、Kubernetes がイメージを再取得するタイミングをユーザーが制御できるようにします。IfNotPresent は安全なデフォルト値です。

imagePullPolicy: {{ .Values.image.pullPolicy }}

プルポリシーにデフォルト値を設定する

values.yaml にプルポリシーのデフォルト値を設定すると、上書きなしのインストールでも動作します。必要な場合は、ユーザーがいつでも変更できます。

image:
  pullPolicy: IfNotPresent

完全なコンテナブロック

これでコンテナは完全にデータ駆動になりました。イメージとプルポリシーの両方が .Values.image から取得され、テンプレートにリテラルは残っていません。

containers:
  - name: app
    image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
    imagePullPolicy: {{ .Values.image.pullPolicy }}

インストール時に上書きする

ユーザーは --set を使って、ネストされた値を 1 つだけ変更できます。キーのドットは values ツリーにそのまま対応するため、ファイルを編集する必要はありません。

helm install web . --set image.tag=1.28

レンダリングされたイメージを確認する

上書き値を指定してレンダリングし、設定が最初から最後まで正しくつながっていることを確認します。出力の image 行には、選択したタグが表示されるはずです。

helm template web . --set image.tag=1.28

クイックチェック

ファイルを編集せずに、別のイメージタグを指定してインストールしたいとします。どうすればよいですか。

振り返り: 設定可能なイメージ

イメージを repository と tag に分け、プルポリシーを追加し、それぞれを --set でユーザーが上書きできるようにしました。タグは引用符で囲んで安全に扱ってください。

よくある質問

「コンテナイメージをパラメーター化する」レッスンは無料ですか?

はい。「コンテナイメージをパラメーター化する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。

「コンテナイメージをパラメーター化する」で何を学びますか?

イメージの Repository と Tag を Values に結び付けます。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

DevOps Bootcampを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「コンテナイメージをパラメーター化する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDevOps Bootcampレッスンでコードを書いて実行できますか?

はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 最小構成の Deployment Template
  2. コンテナイメージをパラメーター化する
  3. Service Template を追加する
  4. Chart のインストールと反復開発
← DevOps Bootcampに戻る