7.2. ライフサイクルおよび永続ボリューム要求
ストレージリソースのライフサイクルを特定の Pod に紐付けるには、Pod のボリュームソース内で永続ボリューム要求 (PVC) パラメーターを設定します。この設定により、一時ボリュームコントローラーは、Pod の作成時に同じ名前空間に PVC を作成し、Pod が削除されたときに PVC を自動的に削除することが保証されます。
ラベル、アノテーション、および永続ボリューム要求 (PVC) のフィールドの全セットがサポートされます。
一時ボリュームコントローラーは 、汎用一時ボリュームの作成 手順に示されているテンプレートから PVC オブジェクトを作成します。
ボリュームのバインディングとプロビジョニングは、次の 2 つの方法のいずれかでトリガーできます。
直ちに (ストレージクラスが即時ボリュームバインディングを使用する場合は)
即時バインディングの場合、スケジューラーはボリュームが利用可能になった後にボリュームにアクセスできるノードを強制的に選択させられます。
Pod がノードに暫定的にスケジュールされた場合 (
WaitForFirstConsumerボリュームバインディングモード)。スケジューラーは Pod に適したノードを選択できるため、このボリュームバインディングオプションは、汎用一時ボリュームに推奨されます。
リソースの所有権に関しては、汎用一時ストレージを持つ Pod は、その一時ストレージを提供する PVC の所有者となります。Pod が削除されると、Kubernetes ガベージコレクターによって PVC が削除され、ストレージクラスのデフォルトの再利用ポリシーがボリュームを削除することになっているため、通常はボリュームの削除がトリガーされます。再利用ポリシーが保持に設定されたストレージクラスを使用することで、準一時的なローカルストレージを作成できます。ストレージは Pod よりも長く存続するため、この場合はボリュームのクリーンアップが別途行われるようにする必要があります。この PVC が存在する間は、他の PVC と同じように使用できます。特に、これはボリュームのクローン作成またはスナップショット作成時にデータソースとして参照できます。PVC オブジェクトは、ボリュームの現在のステータスも保持します。