我创建了一个源自 Google Compute Engine 永久性磁盘的 PersistentVolume,我已经对其进行了格式化并提供了数据。 Kubernetes 表示 PersistentVolume 可用。
kind: PersistentVolume
apiVersion: v1
metadata:
name: models-1-0-0
labels:
name: models-1-0-0
spec:
capacity:
storage: 200Gi
accessModes:
- ReadOnlyMany
gcePersistentDisk:
pdName: models-1-0-0
fsType: ext4
readOnly: true
然后我创建了一个 PersistentVolumeClaim,以便我可以将此卷附加到跨多个节点的多个 pod。但是,kubernetes 无限期地表示它处于待定状态。
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: models-1-0-0-claim
spec:
accessModes:
- ReadOnlyMany
resources:
requests:
storage: 200Gi
selector:
matchLabels:
name: models-1-0-0
任何见解?我觉得选择器可能有问题......
甚至可以预先配置一个带有数据的永久性磁盘,并使跨多个节点的 pod 都能够从中读取数据吗?
最佳答案
我很快意识到 PersistentVolumeClaim 在未指定时将 storageClassName
字段默认为 standard
。但是,在创建 PersistentVolume 时,storageClassName
没有默认值,因此选择器找不到匹配项。
以下对我有用:
kind: PersistentVolume
apiVersion: v1
metadata:
name: models-1-0-0
labels:
name: models-1-0-0
spec:
capacity:
storage: 200Gi
storageClassName: standard
accessModes:
- ReadOnlyMany
gcePersistentDisk:
pdName: models-1-0-0
fsType: ext4
readOnly: true
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: models-1-0-0-claim
spec:
accessModes:
- ReadOnlyMany
resources:
requests:
storage: 200Gi
selector:
matchLabels:
name: models-1-0-0
关于Kubernetes 持久卷声明无限期处于待处理状态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44891319/