9

我创建了一个PersistentVolume,源自Google Compute Engine永久磁盘,我已经格式化并提供数据。 Kubernetes说PersistentVolume可用。Kubernetes在待定状态中无限期地持续声明索赔

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这样我就可以连接此卷在多个节点上的多个吊舱。然而,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都能够读取它?

回答

10

我很快意识到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