快轉到主要內容

PersistentVolume

·1 分鐘
Ben Lai
作者
Ben Lai
畢業後,進入 devops 領域。目前擔任 SRE 工程師,專注於系統可靠性和自動化。喜歡探索新技術,並致力於提升系統性能和穩定性。
目錄

介紹
#

PersistentVolume (PV) 是 Kubernetes 中的一種資源,用於提供持久化存儲。它是集群級別的存儲資源,與 Pod 的生命週期無關。PV 可以被多個 Pod 共享,並且可以在 Pod 重啟或重新調度時保持數據不變。

管理員可以事先創建 PV,並將其與特定的存儲系統(如 NFS、iSCSI、雲存儲等)綁定,或使用動態存儲類別(StorageClass)來自動創建 PV。

PersistentVolumeClaim (PVC) 是用戶請求存儲的方式。概念與 Pod 請求資源類似。用戶可以創建 PVC,指定所需的存儲大小和存取模式 (如 ReadWriteOnce、ReadOnlyMany 等)。Kubernetes 會根據 PVC 的要求來匹配合適的 PV。

存取模式
#

  • ReadWriteOnce (RWO):卷只能被單個節點以讀寫方式掛載。
  • ReadOnlyMany (ROX):卷可以被多個節點以只讀方式掛載。
  • ReadWriteMany (RWX):卷可以被多個節點以讀寫方式掛載。

PersistentVolume 與 PersistentVolumeClaim
#

graph

pod(Pod)
volume(Volume)
PVC(PersistentVolumeClaim)
PV(PersistentVolume)
storageClass(StorageClass)
storageProvider(StorageProvider)
storage(Physical Storage)

pod -->|使用| volume --> PVC
PVC -->|靜態綁定| PV
PVC -->|動態綁定| storageClass

PV -->|提供存儲| storage
storageClass -->|配置存儲| storageProvider -->|實際存儲| storage

如果 PVC storageClassName 屬性為 "",則表示使用靜態綁定。這意味著 PVC 自身禁止使用動態製備的卷。

參考
#

[Kubernetes / K8s] PV/ PVC 儲存大小事交給PV/PVC管理

持久卷

相關文章