持久卷存储始终处于丢失阶段
Persistent Volume Storage always in Lost phase
我有一个损坏的 mongo 容器未初始化,我怀疑我可以通过清理所有存储来修复它。因此,我删除了正在使用的持久存储,但现在,我创建的每个新存储都处于“丢失”阶段,并且在 mongo 的 POD 创建中找不到它。
这是我用来创建 PV 的 .yml 文件:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
annotations:
pv.kubernetes.io/bind-completed: "yes"
pv.kubernetes.io/bound-by-controller: "yes"
volume.beta.kubernetes.io/storage-class: standard
volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/gce-pd
creationTimestamp: "2018-08-11T09:19:29Z"
finalizers:
- kubernetes.io/pvc-protection
labels:
environment: test
role: mongo
name: mongo-persistent-storage-mongo-db-0
namespace: default
resourceVersion: "122299922"
selfLink: /api/v1/namespaces/default/persistentvolumeclaims/mongo-persistent-storage-mongo-db-0
uid: a68de459-9d47-11e8-84b1-42010a800138
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
volumeMode: Filesystem
volumeName: pvc-a68de459-9d47-11e8-84b1-42010a800135
status:
accessModes:
- ReadWriteOnce
capacity:
storage: 20Gi
phase: Bound
这是我在重新启动 mongo POD 时遇到的错误:
error while running "VolumeBinding" filter plugin for pod "mongo-db-0": could not find v1.PersistentVolume "pvc-a68de459-9d47-11e8-84b1-42010a800135"
我已经尝试过更改 PV 名称和 ID,但没有成功。
This is the .yml file that I'm using to create the PV
您似乎使用了绑定到特定 PV 的清单。
如果您删除唯一字段并让集群为您动态提供新的 PV,怎么样?
示例:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
environment: test
role: mongo
name: mongo-persistent-storage-mongo-db-0
namespace: default
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
volumeMode: Filesystem
我有一个损坏的 mongo 容器未初始化,我怀疑我可以通过清理所有存储来修复它。因此,我删除了正在使用的持久存储,但现在,我创建的每个新存储都处于“丢失”阶段,并且在 mongo 的 POD 创建中找不到它。
这是我用来创建 PV 的 .yml 文件:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
annotations:
pv.kubernetes.io/bind-completed: "yes"
pv.kubernetes.io/bound-by-controller: "yes"
volume.beta.kubernetes.io/storage-class: standard
volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/gce-pd
creationTimestamp: "2018-08-11T09:19:29Z"
finalizers:
- kubernetes.io/pvc-protection
labels:
environment: test
role: mongo
name: mongo-persistent-storage-mongo-db-0
namespace: default
resourceVersion: "122299922"
selfLink: /api/v1/namespaces/default/persistentvolumeclaims/mongo-persistent-storage-mongo-db-0
uid: a68de459-9d47-11e8-84b1-42010a800138
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
volumeMode: Filesystem
volumeName: pvc-a68de459-9d47-11e8-84b1-42010a800135
status:
accessModes:
- ReadWriteOnce
capacity:
storage: 20Gi
phase: Bound
这是我在重新启动 mongo POD 时遇到的错误:
error while running "VolumeBinding" filter plugin for pod "mongo-db-0": could not find v1.PersistentVolume "pvc-a68de459-9d47-11e8-84b1-42010a800135"
我已经尝试过更改 PV 名称和 ID,但没有成功。
This is the .yml file that I'm using to create the PV
您似乎使用了绑定到特定 PV 的清单。
如果您删除唯一字段并让集群为您动态提供新的 PV,怎么样?
示例:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
environment: test
role: mongo
name: mongo-persistent-storage-mongo-db-0
namespace: default
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
volumeMode: Filesystem