没有可用于此声明的持久卷,并且未设置存储类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了没有可用于此声明的持久卷,并且未设置存储类相关的知识,希望对你有一定的参考价值。

我的pvc.yaml

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: database-disk
  labels:
    stage: production
    name: database
    app: mysql
spec:
  accessModes:
    - ReadWriteOnce
  volumeMode: Filesystem
  resources:
    requests:
      storage: 2Gi

当我跑kubectl apply -f pvc.yaml我得到以下错误Normal FailedBinding 12h (x83 over 13h) persistentvolume-controller no persistent volumes available for this claim and no storage class is set

同样的pvc在“GKE”(谷歌Kubernetes引擎)上工作正常,但在我的本地群集中使用microk8s失败了

答案

您是否在群集中创建了任何PV?

本地群集上的PV和存储类应由群集管理员手动完成。

查看Kubernetes documentation了解详情:

  1. 集群管理员创建由物理存储支持的PersistentVolume。管理员不会将卷与任何Pod关联。
  2. 集群用户创建PersistentVolumeClaim,它会自动绑定到合适的PersistentVolume。
  3. 用户创建一个使用PersistentVolumeClaim作为存储的Pod。

以上是关于没有可用于此声明的持久卷,并且未设置存储类的主要内容,如果未能解决你的问题,请参考以下文章

将文件放置在 GKE 上的 Kubernetes 持久卷存储中

如何识别持久卷声明中剩余的存储空间?

k8sk8s存储之持久卷(pv)持久卷声明(pvc)nfs持久化存储示例

k8sk8s存储之持久卷(pv)持久卷声明(pvc)nfs持久化存储示例

k8s基础学习-介绍持久卷和持久卷声明

Kubernetes 数据持久化之Persistent 数据卷类型