具有特定卷名称的 kubernetes 卷声明未决

kubernetes volume claim pending with specific volume name

我正在尝试创建一个 PersistentVolumeClaim,为它指定要使用的特定 volumeName。

我使用这个代码:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  namespace: zipkin  
  name: pvc-ciro
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: nfs-provisioner
  resources:
    requests:
      storage: 0.1Gi
  volumeName: "demo"      

如果我删除 volumeName,则 PVC 会正确绑定,否则会保持待定状态。

为什么?

volumeName 是您要使用的 PersistentVolume 的名称。

On GKE PVC 可以自动创建一个将绑定到的 PV,或者您可以使用 volumeName.

指定它的名称

pvc.yaml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc-ciro
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: standard
  resources:
    requests:
      storage: 0.1Gi
  volumeName: demo

pv.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: demo
spec:
  capacity:
    storage: 5Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Recycle
  storageClassName: standard
  mountOptions:
    - hard
    - nfsvers=4.1
  nfs:
    path: /tmp
    server: 172.17.0.2

输出将是:

$ kubectl get pv
NAME   CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM              STORAGECLASS   REASON   AGE
demo   5Gi        RWO            Recycle          Bound    default/pvc-ciro   standard                13s
$ kubectl get pvc
NAME       STATUS   VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS   AGE
pvc-ciro   Bound    demo     5Gi        RWO            standard       8s

您可以在有关 Persistent Volumes.

的 Kubernetes 文档中阅读更多详细信息