【问题标题】:PVC status is stuck on pending and PV status is availablePVC 状态卡在待处理且 PV 状态可用
【发布时间】:2020-12-14 03:32:32
【问题描述】:

我试图将 PVC 大小从 10G 增加到 20G,因为我们在 1.9.3 上运行,因此无法在线进行。所以我删除了 PVC 并创建了 20G 的新值作为存储。

pvc-b196868cd-bc75-12e8-ad32-075738325c   100Gi      RWO            Retain           Released    myapp/myapp-backup-pv-claim`                                persistent                   4m

当我删除时,PV 状态打开为“已发布”,当我尝试重新创建 PVC 时,它已创建但状态为“丢失”

myapp-myapp-backup-pv-claim                 Lost      pvc-03b34iknca1-6fr3-19ea-af3b-0073yh2u97f   0                         ntfts19-k8s-0101   13m

我们正在使用 Vsphere 体积。尝试了“kubectl patch pv pv-for-rabbitmq -p '{"spec":{"claimRef": null}}'”的解决方案,这帮助我将 pv 恢复为“可用”状态,现在 PVC 处于卡在“待处理”状态。

pvc-b196868cd-bc75-12e8-ad32-075738325c   100Gi      RWO            Retain           Available    myapp/myapp-backup-pv-claim`                                persistent                   2m

myapp-myapp-backup-pv-claim                 Pending      pvc-03b34iknca1-6fr3-19ea-af3b-0073yh2u97f   0                         ntfts19-k8s-0101   28m 

PV 描述:

Name:          myapp-myapp-backup-pv-claim   
Namespace:     myapp
StorageClass:  ntfts19-k8s-0101 
Status:        Pending
Volume:        pvc-03b34iknca1-6fr3-19ea-af3b-0073yh2u97f 
Labels:        app=my-app
Annotations:   <none>
Finalizers:    []
Capacity:      0
Access Modes:
Events:        <none>

PVC 描述:

Name:            pvc-b196868cd-bc75-12e8-ad32-075738325c
Labels:          <none>
Annotations:     <none>
StorageClass:    persistent
Status:          Available
Claim:           myapp/myapp-backup-pv-claim
Reclaim Policy:  Retain
Access Modes:    RWO
Capacity:        100Gi
Message:
Source:
    Type:        vSphereVolume (a Persistent Disk resource in vSphere)
    VolumePath:      StoragePolicyName:  %v

    FSType:                            [dsNTFTS19_0101] kubevols/kubernetes-dynamic-pvc-b196868cd-bc75-12e8-ad32-075738325c.vmdk
%!(EXTRA string=ext4, string=)Events:  <none>

【问题讨论】:

  • 能否请您粘贴 kubectl describe > 和 kubectl describe > 的输出
  • 描述了 pv 和 pvc 但现在它是一个不同的问题所以我改变了问题。

标签: kubernetes persistent-volumes kubernetes-pvc


【解决方案1】:

问题在于没有注释,因为这是一个 VSphere 存储,注释 volume.beta.kubernetes.io/storage-provisioner=kubernetes.io/vsphere-volume 是强制性的。

【讨论】:

    【解决方案2】:

    PV 和 PVC 的存储类应该相同。控制平面只有找到具有相同存储类的 PV,才能将 PVC 与 PV 绑定。

    你的 PV 有 storageClass: ntfts19-k8s-0101 而你的 PVC 有 storageClass: persistent。因此,控制平面找不到具有 storageClass 持久性的匹配 PV。

    删除并重新创建 PVC 以匹配 PV 的存储类。

    请参考official documentation

    【讨论】:

    • 我将 PVC 存储类更改为 ntfts19-k8s-0101,但它仍处于待处理状态并没有解决问题。我也尝试将它们都更改为持久存储类,但没有运气。
    • 您能否更新您的访问模式以匹配 PV?
    • 两种访问模式都已设置为“ReadWriteOnce”,但在描述 pvc 时它没有显示任何访问模式。
    猜你喜欢
    • 2018-03-31
    • 2018-04-08
    • 2020-02-13
    • 1970-01-01
    • 1970-01-01
    • 2016-12-28
    • 2021-11-18
    • 2021-05-07
    相关资源
    最近更新 更多