Kubernetes持久卷索赔无限期处于挂起状态

73

我创建了一个永久卷,它的来源是已经格式化并提供了数据的 Google Compute Engine 持久磁盘。Kubernetes 表示该永久卷可用。

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都能够从中读取,这是否可能?

12个回答

0

我遇到了同样的问题,即PersistentVolumeClaim无限期地处于挂起阶段,我尝试在PersistentVolume中像为PersistentVolumeClaim提供storageClassName一样提供'default',但这并没有解决这个问题。

我在我的persistentvolume.yml文件中进行了一个更改,将PersistentVolumeClaim配置移到文件顶部,然后将PersistentVolume作为yml文件中的第二个配置。它已经解决了这个问题。

我们需要确保先创建PersistentVolumeClaim,然后再创建PersistentVolume以解决这个“挂起”阶段的问题。

我在测试了几次之后发布了这个答案,希望它能帮助那些正在苦苦挣扎的人。


我发现过长的Pending阶段不是由两个组件的创建顺序引起的。我按照你的建议尝试了一下,分配速度快了大约2秒钟。在我的情况下,根本原因是在使用storageClassName: storage时将ReadWriteMany替换为ReadWriteOnce。 - Dave

-4

确保您的虚拟机也有足够的磁盘空间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接