我创建了一个源自 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/

10-15 21:48