init containerとは?
init containerは、pod内のメインのアプリケーションコンテナが起動する前に実行され終了するコンテナです。データベースマイグレーションの実行、設定の取得、依存関係が到達可能になるまでのブロックなど、一度限りのセットアップを行います。各init containerは、次のもの、そしてアプリが始まる前に、成功して完了しなければなりません。
なぜ重要か
セットアップのロジックをinit containerに置くと、アプリケーションイメージがクリーンに保たれ、アプリが起動する前に前提条件が満たされることが保証され、アプリがデータベースの準備が整う前に起動する競合状態を回避できます。サイドカーとは異なり、アプリと並んで実行されるのではなく、最初に実行されて終了します。
関連する概念
- メインコンテナの前に完了まで実行される
- 並行して実行されるサイドカーとは異なる
- マイグレーションや依存関係の準備待ちによく使われる
関連ガイド
What Is a Sidecar Container?A sidecar is a helper container that runs alongside a main application container, adding capabilities like pr…
What Is a Readiness Probe?A readiness probe checks whether a container is ready to accept traffic, removing it from the load balancer u…
What Is Drift Remediation?Drift remediation is the act of correcting differences between a system's actual state and its declared desir…