我们对 PV 和 PVC 的几种状态应该不算陌生,但是在使用过程中可能也会产生一些疑问,比如为什么 PVC 变成 Lost 状态了,新创建的 PVC 如何能够绑定之前的 PV,我可以恢复之前的 PV 吗?这里我们就来对 PV 和 PVC 中的几种状态变化再次进行说明。
在不同的情况下,PV 和 PVC 的状态变化我们用如下所示的表格来进行说明:
创建PV
正常情况下 PV 被创建成功后是 Available 状态:
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs-pv
spec:
storageClassName: manual
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nfs:
path: /data/k8s # 指定nfs的挂载点
server: 10.151.30.1 # 指定nfs服务地址
直接创建上面的 PV 对象,就可以看到状态是 Available 状态,表示可以用于 PVC 绑定:
$ kubectl get pv nfs-pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
nfs-pv 1Gi RWO Retain Available manual 7s
新建 PVC
刚添加的 PVC 状态是 Pending,如果有合适的 PV,这个 Pending 状态会立刻