创建“.”时出错:persistentvolumeclaims“wp-pv-claim”被禁止:超出配额

时间:2021-05-25 13:01:48

标签: mysql wordpress kubernetes kubectl

我正在尝试使用 Kubernetes 链接运行 WordPress,唯一的变化是我将 20Gi 更改为 5Gi,但是当我运行 kubectl apply -k . 时,我得到这个错误:

Error from server (Forbidden): error when creating ".": persistentvolumeclaims "wp-pv-claim" is forbidden: exceeded quota: storagequota, requested: requests.storage=5Gi, used: requests.storage=5Gi, limited: requests.storage=5Gi

我搜索了但没有找到任何与我的相关的答案(甚至可能我错了)。

你能回答我这些问题吗:

  1. 如何解决上述问题?
  2. 如果volume的大小限制在5G,那么pod不能大于5G?我的意思是,如果我 exec 进入 pod 并运行像 dd if=/dev/zero of=file bs=1M count=8000 这样的命令,它是否应该创建一个 8G 文件?我的意思是这个配额和数量限制了整个 pod?还是只有像 /var/www/html 这样的特定路径?

编辑 1

describe pvc mysql-pv-claim
Name:          mysql-pv-claim
Namespace:     default
StorageClass:
Status:        Pending
Volume:
Labels:        app=wordpress
Annotations:   <none>
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
VolumeMode:    Filesystem
Used By:       wordpress-mysql-6c479567b-vzpm5
Events:
  Type    Reason         Age                 From                         Message
  ----    ------         ----                ----                         -------
  Normal  FailedBinding  4m (x222 over 59m)  persistentvolume-controller  no persistent volumes available for this claim and no storage class is set

1 个答案:

答案 0 :(得分:0)

我决定总结我们的评论对话,以提高可读性和可见性。

这个问题起初似乎是由资源配额引起的。

<块引用>

来自服务器的错误(禁止):创建“.”时出错:persistentvolumeclaims“wp-pv-claim”被禁止:超出配额:storagequota,请求:requests.storage=5Gi,使用:requests.storage=5Gi,有限: requests.storage=5Gi

看起来已经存在 PVC,并且不允许创建新的。

OP 删除了资源配额,尽管在这种情况下没有必要,因为真正的问题在于 PVC。

kubectl describe pvc mysql-pv-claim 显示了以下事件:

Events:
  Type    Reason         Age                 From                         Message
  ----    ------         ----                ----                         -------
  Normal  FailedBinding  4m (x222 over 59m)  persistentvolume-controller  no persistent volumes available for this claim and no storage class is set

事件消息:

<块引用>

persistentvolume-controller 没有可用于此声明的持久卷,也没有设置存储类

由于 OP 使用 kubeadm 创建了集群,并且 kubeadm 没有预部署的开箱即用的存储提供程序;这意味着它需要手动添加。 (Storage Provider 是一个可以创建卷并挂载它的控制器)。

每个 StorageClass 都有一个配置器,用于确定用于配置 PV 的卷插件。必须指定此字段。由于集群中没有存储类,OP 决定创建一个并选择 Local storage class 但忘记了:

<块引用>

本地卷目前不支持动态配置 [...]。

<块引用>

本地卷只能用作静态创建的 PersistentVolume。不支持动态配置

这意味着本地卷必须是 created manually

相关问题