1、持久卷PV
1.1 概念
持久卷(PersistentVolume,PV) 是集群中的一块存储,可以由管理员事先制备, 或者使用存储类(Storage Class)来动态制备。 持久卷是集群资源,就像节点也是集群资源一样。PV 持久卷和普通的 Volume 一样, 也是使用卷插件来实现的,只是它们拥有独立于任何使用 PV 的 Pod 的生命周期。 此 API 对象中记述了存储的实现细节,无论其背后是 NFS、iSCSI 还是特定于云平台的存储系统。
1.2 创建PV
vi gateway-pv.yaml
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: gateway-pv
namespace: default
spec:
capacity:
storage: 500Gi
volumeMode: Filesystem
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
nfs:
path: /test
server: 192.168.0.203
保存之后,执行下面创建命令:
kubectl create -f gateway-pv.yaml
2、持久卷PVC
2.1 概念
持久卷申领(PersistentVolumeClaim,PVC) 表达的是用户对存储的请求。概念上与 Pod 类似。 Pod 会耗用节点资源,而 PVC 申领会耗用 PV 资源。Pod 可以请求特定数量的资源(CPU 和内存)。同样 PVC 申领也可以请求特定的大小和访问模式 (例如,可以挂载为 ReadWriteOnce、ReadOnlyMany、ReadWriteMany 或 ReadWriteOncePod)。
2.2 创建PVC
vi gateway-pvc.yaml
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: gateway-pvc
namespace: default
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 500Gi
selector:
matchLabels:
name: gateway-pv
storageClassName: ""
volumeMode: Filesystem
保存之后,执行创建命令:
kubectl create -f gateway-pvc.yaml
3、PVC正确引用PV
kubectl label pv gateway-pv name=gateway-pv