🙆

Kubernetesにおける「Volume」、「PersistentVolume」、「PersistentVolumeClaim」の違い

2023/12/21に公開

Volume:

Volumeは、Pod内で使用するために、既存のボリューム(例:ホストのディスク領域、NFS、Ceph、GCPのボリュームなど)を指定します。
これらのボリュームは、YAMLマニフェストファイルに直接記述され、Podで直接利用されます。
ただし、ユーザーが新たにボリュームを作成したり、既存のボリュームを削除する操作はできません。

PersistentVolume (PV):

PersistentVolumeは、長期間にわたってデータを保存するためのボリュームです。
これは、外部ストレージシステム(例:クラウドストレージサービス)と連携して、新規のボリュームの作成や既存のボリュームの削除を可能にします。
PVはYAMLマニフェストを通じて別途作成され、クラスタ全体で共有されます。

PersistentVolumeClaim (PVC):

PVCは、作成されたPVをPodで利用するためのリソースです。
実際にPodがボリュームを使うには、PVCを定義してPVにアクセスします。
また、ダイナミックプロビジョニング機能を使うと、PVCが要求された時に動的にPVが作成されることもあります。

まとめ

要するに、Volumeは既存のストレージリソースをPodで直接利用するためのもの、PVは長期保存用の外部ストレージリソースをクラスタに提供するためのもの、そしてPVCはそのPVを実際のPodで使うためのリクエスト/要求を表すものです。

Discussion