永続ボリューム要求(PVC)
Kubernetesにおけるストレージの要求。Podは「読み書き可能な10 GBが欲しい」とPVCで宣言し、Kubernetesが実際のPersistent Volume(PV)を割り当てる。「アプリが必要とするもの」と「ストレージの実体の出所」を切り離す抽象だ。
仕組みはこうだ。PVはディスク、NFS共有、クラウドのボリュームといった実在のストレージ資源で、PVCはユーザーによる容量とアクセスモードの要求である。KubernetesはPVCを条件に合うPVに結び付ける(バインド)。StorageClassを使う動的プロビジョニングでは、PVCが現れた時点でPVが自動作成されるため、管理者が事前にディスクを用意する必要はない。アクセスモードはReadWriteOnce(1ノード)、ReadWriteMany(複数ノード)、ReadOnlyManyの3種類だ。
典型例はデータベースのPod(StatefulSet)で、再起動や再スケジュールを越えて残るストレージをPVCで要求する。利点は、アプリが下層のストレージ技術に依存しないこと。同じマニフェストがAWS EBSでもGCE PDでもローカルディスクでも動く。