0Pricing
DevOps Bootcamp · レッスン

バージョンの固定と latest の回避

再現可能なイメージと依存関係のバージョンを管理します。

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

再現性が成果を生む

明日もう一度デプロイしてもまったく同じ結果を得られるなら、それは再現可能です。バージョンを固定することで、インストールやクラスターが変わっても同じ結果を保証できます。

latestの問題

latestイメージタグは変動する対象です。数時間違うだけで別のコードが取得される可能性があり、バグの再現やロールバックが不可能になります。

イメージタグを固定する

values.yamlでは、1.27.4のような明示的なイメージタグを必ず設定してください。YAMLが文字列として扱い、数値として解釈しないように引用符で囲みます。

image:
  repository: nginx
  tag: "1.27.4"

ダイジェストならさらに強固

ダイジェストはイメージの正確なバイト列を固定するため、タグを付け直したビルドでも実行内容を変更できません。完全な不変性が必要な場合に使用してください。

image: nginx@sha256:abc123...

妥当なpullPolicyを設定する

タグを固定している場合はIfNotPresentを使用し、ノードにキャッシュされたイメージを再利用します。再起動のたびに再取得するAlwaysは、予期しない動作につながるため避けてください。

pullPolicy: IfNotPresent

appVersionとversionを管理する

Chart.yamlでは、チャートの変更に対してversionを更新し、アプリの変更に対してappVersionを更新します。両者を正しく管理すると、アップグレードや履歴が分かりやすくなります。

version: 1.4.0
appVersion: "1.27.4"

依存関係のバージョンを固定する

Chart.yamlでは、各依存関係にワイルドカードではなく具体的なバージョン範囲を指定し、サブチャートが予期せず更新されないようにします。

dependencies:
  - name: postgresql
    version: "15.5.38"
    repository: https://charts.bitnami.com/bitnami

Chart.lockで固定する

helm dependency updateを実行すると、解決された正確なバージョンを記録したChart.lockが作成されます。チームメンバーが同じ依存関係ツリーを構築できるよう、これをコミットしてください。

helm dependency update

変動する範囲に注意する

^15.0.0のような範囲指定では、マイナーバージョンが変動します。信頼できるライブラリなら問題ありませんが、安定性が最も重要な場合は厳密に固定してください。

更新を自動化する

RenovateやDependabotのようなツールに、バージョン更新のプルリクエストを作成させます。バージョンを固定したまま、パッチの適用が危険なほど遅れることを防げます。🔄

実行される内容を確認する

helm templateでチャートをレンダリングし、出力をgrepして、配布前にlatestに解決されるイメージが残っていないことを確認します。

helm template ./mychart | grep image:

クイックチェック

チャートのデフォルト値としてlatestイメージタグが適していないのはなぜですか?

まとめ

イメージタグまたはダイジェストを固定し、Chart.lockで依存関係をロックし、latestを避ける方法を学びました。バージョンを固定すると、すべてのデプロイを再現可能にできます。✅

よくある質問

「バージョンの固定と latest の回避」レッスンは無料ですか?

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

「バージョンの固定と latest の回避」で何を学びますか?

再現可能なイメージと依存関係のバージョンを管理します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「バージョンの固定と latest の回避」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. 標準ラベルと命名規則
  2. 適切で文書化されたデフォルト値
  3. securityContext による Pod の堅牢化
  4. バージョンの固定と latest の回避
← DevOps Bootcampに戻る