pod具有未绑定的立即PersistentVolumeClaims kubernetes nfs卷

时间:2019-07-30 09:54:03

标签: kubernetes nfs persistent-volume-claims

我知道围绕该主题有很多讨论,但不知何故,我无法使其正常工作。
我正在尝试在裸机上安装带有statefulset和nfs持久卷的弹性搜索集群。我的pv,pvc和sc配置如下:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: manual
provisioner: kubernetes.io/no-provisioner
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs-storage-pv
spec:
  capacity:
    storage: 10Gi
  accessModes:
  - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  storageClassName: manual
  nfs:
    server: 172.23.240.85
    path: /servers/scratch50g/vishalg/kube

Statefuleset定义了以下pvc部分:

volumeClaimTemplates:
  - metadata:
      name: beehive-pv-claim
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: manual
      resources:
        requests:
          storage: 1Gi

现在,当我尝试部署它时,在statefulset上收到以下错误:

 pod has unbound immediate PersistentVolumeClaims 

当我收到pvc事件时,它显示:

 Warning  ProvisioningFailed  3s (x2 over 12s)  persistentvolume-controller  no volume plugin matched

我尝试不提供任何存储类(未创建它),并将其从pv和pvc中全部删除。这次,我得到以下错误:

no persistent volumes available for this claim and no storage class is set

我也尝试在pvc中将storageclass设置为“”,而在pv中没有提及,但它也无法正常工作。

请在这里帮助。我需要检查什么才能使其正常工作?
可以将它与nfs服务器和路径相关(如果偶然,它会被错误地提及),尽管我看到pv创建成功。

EDIT1
一个问题是pvc的访问方式不同于pv的访问方式。我纠正了它,现在我的pvc显示为已绑定。
但即使现在,我仍然遇到以下错误:
     pod具有未绑定的立即PersistentVolumeClaims 我也尝试使用本地卷,但再次出现相同的错误。 PV和PVC正确绑定,但是statefulset显示上述错误。
使用hostPath卷时,一切正常。
从根本上说我在这里做错了什么吗?

EDIT2
我使本地音量正常工作。 Pod绑定到pvc需要一些时间。等待几分钟后,我的吊舱绑定到了pvc。
我认为,nfs绑定问题可能与许可相关。但是,k8仍然会给出一些错误。

1 个答案:

答案 0 :(得分:3)

您也可以尝试匹配accessModes吗?

PVC现在定位到ReadWriteOnce卷。

如果在节点上手动安装nfs卷,则可以调试所有访问/安全问题。