k8s默认StorageClass,解决pvc一直处于“Pending”

这篇具有很好参考价值的文章主要介绍了k8s默认StorageClass,解决pvc一直处于“Pending”。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

报错详情

k8s默认StorageClass,解决pvc一直处于“Pending”

排查思路

查看 pvc 详细属性
[root@k8s-master01 /opt/zadig]# kubectl describe pvc pvc-sc
Name:          pvc-sc
Namespace:     default
StorageClass:  nfs-yinwu
Status:        Pending
Volume:        
Labels:        <none>
Annotations:   control-plane.alpha.kubernetes.io/leader:
                 {"holderIdentity":"2fc2f72f-aac9-11ed-ba5e-6a561503df2c","leaseDurationSeconds":15,"acquireTime":"2023-02-12T11:35:01Z","renewTime":"2023-...
               volume.beta.kubernetes.io/storage-provisioner: nfs-provisioner-01
               volume.kubernetes.io/storage-provisioner: nfs-provisioner-01
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      
Access Modes:  
VolumeMode:    Filesystem
Used By:       <none>
Events:
  Type    Reason                Age                    From                         Message
  ----    ------                ----                   ----                         -------
  Normal  ExternalProvisioning  3m5s (x25 over 4m11s)  persistentvolume-controller  waiting for a volume to be created, either by external provisioner "nfs-provisioner-01" or manually created by system administrator

persistentvolume-controller waiting for a volume to be created, either by external provisioner "nfs-provisioner-01" or manually created by system administrator
从persistentvolume-controller反馈出来的信息是 没有权限来创建出pvc。

查看 nfs-provisioner pod日志

远程NFS服务器上的动态子目录卷预配器: https://github.com/kubernetes-retired/external-storage/tree/master/nfs

Unexpected error getting claim reference to claim "default/pvc-sc": selfLink was empty, can't make reference
k8s默认StorageClass,解决pvc一直处于“Pending”
注:
Kubernetes 1.20及以后版本废弃了 selfLink 所致。
相关issue链接:https://github.com/kubernetes/kubernetes/pull/94397

解决方案

修改 /etc/kubernetes/manifests/kube-apiserver.yaml,添加 - --feature-gates=RemoveSelfLink=false 后重启apiserver,及替换nfs-provisioner镜像文件(末尾会+链接),接着进行重试创建,又发现如下的新报错信息.

4 pod has unbound immediate PersistentVolumeClaims

Events:
  Type     Reason            Age                  From               Message
  ----     ------            ----                 ----               -------
  Warning  FailedScheduling  24s (x6 over 7m26s)  default-scheduler  0/4 nodes are available: 4 pod has unbound immediate PersistentVolumeClaims.

需要设置k8s默认的sc

kubectl patch storageclass nfs-yinwu -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

再次尝试创建正常!
k8s默认StorageClass,解决pvc一直处于“Pending”

附:
ccr.ccs.tencentyun.com/kason/nfs-subdir-external-provisioner:v4.0.0文章来源地址https://www.toymoban.com/news/detail-426858.html

到了这里,关于k8s默认StorageClass,解决pvc一直处于“Pending”的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • k8s集群namespace一直处于Terminating状态不释放解决办法

    Kubernetes中namespace有两种常见的状态,即Active和Terminating状态,其中Terminating状态一般会比较少见,当对应的命名空间下还存在运行的资源,但该命名空间被删除时才会出现所谓的Terminating状态,这种情况下只要等待Kubernetes本身将命名空间下的资源回收后,该命名空间将会被系

    2024年02月11日
    浏览(35)
  • K8S临时存储-本地存储-PV和PVC的使用-动态存储(StorageClass)

    容器中的文件在磁盘上是临时存放的,当容器崩溃或停止时容器上面的数据未保存, 因此在容器生命周期内创建或修改的所有文件都将丢失。 在崩溃期间,kubelet 会以干净的状态重新启动容器。 当多个容器在一个 Pod 中运行并且需要共享文件时,会出现另一个问题,跨所有容

    2024年04月16日
    浏览(48)
  • K8s基础10——数据卷、PV和PVC、StorageClass动态补给、StatefulSet控制器

    为什么需要数据卷? 容器中的文件在磁盘上是临时存放的,这给容器中运行比较重要的应用程序带来一些问题。 当容器升级或者崩溃时,kubelet会重建容器,容器内文件会丢失。 一个Pod中运行多个容器时,需要共享文件。 而K8s 数据卷就可以解决这两个问题。 Volume概念: V

    2024年02月05日
    浏览(98)
  • k8s的namespace一直处于terminating的解法

    先试了强制替换,无法替换掉,强制删除,也删除不掉namespace 这段代码的含义是在 Kubernetes 环境中删除一个命名空间(Namespace)及其关联的资源,包括在命名空间中运行的所有容器、服务、持久卷等。让我们逐行解释代码的作用: NAMESPACE=demo 这一行指定了要删除的命名空间

    2024年02月15日
    浏览(44)
  • k8s主节点部署pod状态一直是pending原因排除,并彻底删除pod技巧

    一般来说,master节点是会产生一个污点,不允许部署pod的。 如果其他原因也可以使用这个命令检查状态原因 当出现类似这样问题 问题描述: Warning FailedScheduling 40s (x28 over 28m) default-scheduler 0/1 nodes are available: 1 node(s) had untolerated taint {node-role.kubernetes.io/master: }, that the pod didn’

    2024年01月19日
    浏览(43)
  • 如何解决Pod一直处于Pending状态的问题

    在Kubernetes集群中,当我们创建一个新的Pod或更新一个Pod时,可能会遇到Pod一直处于Pending状态的问题。本文将介绍解决这个问题的几种方法。 检查Node节点的状态 Pod在Kubernetes中必须运行在Node节点上。因此,如果没有可用的Node节点或者Node节点不可用,Pod就会被挂起。可以使用

    2024年02月06日
    浏览(44)
  • k8s部署解成功解决node节点一直处于NotReady状态的问题,报错failed to load Kubelet config file /var/lib/kubelet/config.yaml

    我在部署k8s的时候host1节点一直显示NotReady 报错便报,直接经典看日志解决问题思路哈哈哈 看日志找报错点,找问题解决问题,思路一定要清晰。 在host1节点中查看报错信息,代码: 由日志信息可知,报错原因是不能从/var/llib/kubelet/config.yaml下载到kubelet的配置。 错误原因估计

    2024年02月11日
    浏览(51)
  • k8s pod 处于Terminating的原因分析和解决处理——筑梦之路

    之前整理了一下各种资源长时间无法回收,解决处理的命令行 k8s 各种资源Terminationg状态处理 —— 筑梦之路_k8s自定义资源修改状态-CSDN博客 这里具体整理下pod长时间处于Terminating状态的相关知识,主要是对前面的补充和完善,作为笔记记录。 当我们要删除一个Pod时,Kuberne

    2024年02月03日
    浏览(34)
  • k8s之存储篇---存储类StorageClass

    StorageClass 为管理员提供了描述存储\\\"类\\\"的方法。 不同的类型可能会映射到不同的服务质量等级或备份策略,或是由集群管理员制定的任意策略。 Kubernetes 本身并不清楚各种类代表的什么。这个类的概念在其他存储系统中有时被称为\\\"配置文件\\\"。 每个 StorageClass 都包含 provisio

    2024年02月11日
    浏览(32)
  • Kubernetes(K8S)中StorageClass(SC)详解、实例

    StorageClass是一个存储类,通过创建StorageClass可以动态生成一个存储卷,供k8s用户使用。 使用StorageClass可以根据PVC动态的创建PV,减少管理员手工创建PV的工作。 StorageClass的定义主要包括名称、后端存储的提供者(privisioner)和后端存储的相关参数配置。StorageClass一旦被创建,

    2024年02月02日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包