Kubernetes 入門コース / Chapter 05

Jobで行うDBマイグレーション

一度だけ完了すべきDB移行を、再実行可能なJobとしてアプリ本体から分離する。

この章で学ぶこと

  1. Jobは成功完了を目的とする短命ワークロードである。
  2. マイグレーションはAPI Podの起動処理に混ぜず、独立して成否を確認する。
  3. イメージ参照先とログを確認し、失敗時は原因を残して再実行する。

01Jobは成功完了を目的とする短命ワークロードである

なぜ必要か:Jobは成功完了を目的とする短命ワークロードである。

Jobは成功完了を目的とする短命ワークロードである。
図の読み方:宣言した状態から、実際の動作へ矢印を追う。

Jobは成功完了を目的とする短命ワークロードである。 実装では、対象リソース・設定値・実行結果を別々に確認する。

判断できるようになること:Jobは成功完了を目的とする短命ワークロードである。

02マイグレーションはAPI Podの起動処理に混ぜず、独立して成否を確認する

設計の境界:マイグレーションはAPI Podの起動処理に混ぜず、独立して成否を確認する。

マイグレーションはAPI Podの起動処理に混ぜず、独立して成否を確認する。
図の読み方:責務を混ぜず、設定と実行の境界を確認する。

マイグレーションはAPI Podの起動処理に混ぜず、独立して成否を確認する。 そのため、更新対象と依存先を同時に変えず、差分を確認してから反映する。

判断できるようになること:Jobは成功完了を目的とする短命ワークロードである。

03イメージ参照先とログを確認し、失敗時は原因を残して再実行する

運用で確認する証跡:イメージ参照先とログを確認し、失敗時は原因を残して再実行する。

イメージ参照先とログを確認し、失敗時は原因を残して再実行する。
図の読み方:正常時だけでなく、確認・復旧の順番を追う。

イメージ参照先とログを確認し、失敗時は原因を残して再実行する。 障害時は画面の表示だけで判断せず、状態・イベント・ログを順番に照合する。

判断できるようになること:Jobは成功完了を目的とする短命ワークロードである。

章のまとめ

  1. Jobは成功完了を目的とする短命ワークロードである。
  2. マイグレーションはAPI Podの起動処理に混ぜず、独立して成否を確認する。
  3. イメージ参照先とログを確認し、失敗時は原因を残して再実行する。