【パーシステントボリューム】

Persistent Volume とは?

公開:
💡 コンテナが消えてもデータだけは残る金庫
📌 このページのポイント
PersistentVolume(PV)と PVC のバインディング Pod アプリコンテナ volumeMounts: 参照 PVC PersistentVolumeClaim 要求: 10Gi, RWO storageClass: fast Bind PV PersistentVolume 容量: 10Gi accessModes: RWO storageClass: fast 実ストレージ EBS / NFS / Ceph ライフサイクル Available Bound Released Delete Retain / Recycle / Delete の回収ポリシーで制御 PVCの要求条件にマッチするPVが自動バインドされる
PVとPVCのバインディングのイメージ
ひよこ ひよこ
コンテナのデータって消えちゃうの?
ペンギン先生 ペンギン先生
そうなんだ。コンテナは基本的に使い捨てで、再起動するとファイルシステムは初期状態に戻るよ。だからデータベースのデータみたいに残しておきたいものはPersistent Volumeに保存するんだ。
ひよこ ひよこ
PVとPVCって何が違うの?
ペンギン先生 ペンギン先生
PVが実際のストレージハードディスクみたいなもの)で、PVCは『こういうストレージが欲しいです』という申請書だよ。PodはPVCを通じてストレージを要求して、Kubernetesが条件に合うPVを割り当てるんだ。
ひよこ ひよこ
毎回PVを手動で作るの?
ペンギン先生 ペンギン先生
StorageClassを設定しておけば、PVCを作るだけで自動的にPVが作られるDynamic Provisioningが使えるよ。AWSならEBSボリューム、GCPならPDが自動で作成されるんだ。
ひよこ ひよこ
アクセスモードっていうのも聞いたことがあるけど…
ペンギン先生 ペンギン先生
PVには3つのアクセスモードがあるよ。ReadWriteOnce(1つのノードから読み書き)、ReadOnlyMany(複数ノードから読み取り専用)、ReadWriteMany(複数ノードから読み書き)だ。バックエンドストレージによって対応するモードが異なるから注意が必要だね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Persistent Volume」って出てきたら「Kubernetesでデータを永続化するストレージ」と思えればだいたいOK!
📖 おまけ:英語の意味
「Persistent Volume」 = 永続ボリューム
💬 Persistent(永続的な)+ Volume(ストレージ領域)で、コンテナが消えても残るストレージだよ
← 用語集にもどる