【问题标题】:pod has unbound immediate PersistentVolumeClaims kubernetes nfs volumepod 有未绑定的即时 PersistentVolumeClaims kubernetes nfs 卷
【发布时间】:2019-12-07 16:26:37
【问题描述】:

我知道围绕这个话题有很多讨论,但不知何故,我无法让它发挥作用。
我正在尝试在裸机上安装带有 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 的 accessmode 与 pv 的 accessmode 不同。我得到了纠正,现在我的 pvc 显示为已绑定。
但现在,我收到以下错误:
pod 有未绑定的立即 PersistentVolumeClaims 我也尝试使用本地卷,但同样的错误。 PV 和 PVC 绑定正确,但 statefulset 显示上述错误。
使用 hostPath 卷时,一切正常。
从根本上说我在这里做错了什么吗?

EDIT2
我让本地卷正常工作。 pod 需要一些时间才能绑定到 pvc。等待几分钟后,我的 pod 绑定到 pvc。
我认为,nfs 绑定问题可能更多与权限相关。但是,k8s 应该也会给出一些错误。

【问题讨论】:

  • 你试过匹配accessModes吗? PVC 的目标是 ReadWriteOnce 卷。
  • 谢谢@AYA。更改 PVC 访问模式会导致成功创建 pvc(与之前的挂起相比,状态 = 绑定)。但是,我的 statefulset 显示“pod has unbound immediate PersistentVolumeClaims”。我收到以下事件: pod/beehive-master-data-0 Unable to mount volumes for pod "beehive-master-data-0_pulse(5da0d3a6-b22d-4e33-9ced-073dc46043a6)": timeout expired waiting for volumes to attach或安装 pod "pulse"/"beehive-master-data-0"。卸载卷列表=[beehive-pv-claim default-token-t2x7x]。未附加卷列表=[beehive-pv-claim default-token-t2x7x]
  • 另外,如果我给出错误的 nfs 路径,它会给我错误:“找不到目录/路径”。如果我更正路径,则会出现上述评论中提到的错误。在这两种情况下,pvc 状态都显示为已绑定。请帮忙。
  • 此时我会检查 Nfs,node/pod 是否可以访问 nfs 目标?
  • 节点可以访问 nfs。如何检查 pos?

标签: kubernetes nfs persistent-volume-claims


【解决方案1】:

您也可以尝试匹配 accessModes 吗?

PVC 现在正以 ReadWriteOnce 卷为目标。

如果您手动在节点上挂载 nfs 卷,则可以调试任何访问/安全问题。

【讨论】:

    猜你喜欢
    • 2020-11-03
    • 1970-01-01
    • 2022-10-18
    • 2020-12-27
    • 2019-03-11
    • 2020-12-19
    • 2021-01-06
    • 2020-08-31
    • 2021-04-07
    相关资源
    最近更新 更多