1. k8s PV 與 PVC
- PV 是已經由管理員提供或者動態使用供應的集群中的一塊存儲的存儲類。它是集群中的資源,就像節點是集群資源一樣。PV是類似於Volumes的卷插件,但是其生命周期獨立於使用PV的任何單個Pod。此API對象捕獲NFS,iSCSI或特定於雲提供商的存儲系統的存儲實現的詳細信息。
- PVC 是由用戶進行存儲的請求。它類似於豆莢。容器消耗節點資源,PVC消耗PV資源。Pod可以請求特定級別的資源(CPU和內存)。聲明可以請求特定的大小和訪問模式(例如,可以將它們安裝為讀/寫一次或多次只讀)。
- 盡管PVC允許用戶使用抽象的存儲資源,但是PV對於不同的問題,用戶通常需要具有不同的屬性(例如性能)。集群管理員需要能夠以多種PV方式提供各種不同的功能,而不僅僅是大小和訪問模式,而又不讓用戶了解如何實現這些卷的細節。對於這些需求,有StorageClass 資源,如:ssd、nfs等等。
2. 使用PV與PVC
apiVersion: v1
kind: PersistentVolume
metadata:
name: nexus-data
spec:
capacity:
storage: 5Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs
nfs:
path: /var/nfs/nexus-data
server: 192.168.0.250
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nexus-data-pvc
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
resources:
requests:
storage: 5Gi
storageClassName: nfs