PV和PVC的关系

PV (PersistentVolume):

PVC (PersistentVolumeClaim):

  • 由开发团队创建和管理。
  • 不需要知道底层存储的实现细节。
  • 指定所需的最低存储容量。
  • 指定访问模式。
  • 可选指定PV名称 volumeName ,不指定时由Kubernetes自动匹配(根据存储容量和访问模式)。
  • PVC和PV的关系是一对一的,只能将以个PVC绑定到一个PV上。
  • PVC属于某个命名空间。
  • PVC的状态:Pending - 待绑定;Bound - 已绑定PVC;Terminating - 删除中。

删除Kubernetes的PV和PVC时状态一直为Terminating

问题描述:删除Kubernetes的PV和PVC时状态为Terminating。

原因:这是正常的,是Kubernetes为了防止误删除PV和PVC导致数据丢失的保护机制。

如果确认要删除PV和PVC,并删除关联的数据,可以执行以下命令:

# 先解除保护机制,再删除PVC
# 如果已经处在Terminating状态,patch后直接删除
kubectl patch pvc <pvc-name> -p '{"metadata":{"finalizers":null}}'
kubectl delete pvc <pvc-name>
# 先解除保护机制,再删除PV
# 如果已经处在Terminating状态,patch后直接删除
kubectl patch pv <pv-name> -p '{"metadata":{"finalizers":null}}'
kubectl delete pv <pv-name>
 

PVC创建后一直处在Pending状态

查看PVC的Events,发现错误为“volume xxx already bound to a different claim.”

PVC和PV的关系是一对一的,不能将多个PVC绑定到同一个PV上。

如果PVC的access mode和PV的access mode不兼容,也会导致PVC无法绑定PV,一直处在Pending状态。

文章目录Kubernetes PV和PVC 常见问题PV和PVC的关系删除Kubernetes的PV和PVC时状态一直为TerminatingPVC创建后一直处在Pending状态Kubernetes PV和PVC 常见问题PV和PVC的关系PV (PersistentVolume):由集群管理员创建和管理。设置底层存储,比如使用NFS。设置存储容量大小。设置访问模式(Access mode)。指定Reclaim Policy,当persistentVolumeReclaimPolicy: 事情的起因是基于k8s集群搞东搞西搞项目时,使用脚本一键部署平台时突然僵住了,直接返回超时信息,通过各种手段对 shell 脚本进行debug,最终定位到是在使用yaml文件创建pod时一直卡在下面这步:PersistentVolumeClaim is not bond。 当然,这只是其中一条not boud的debug信息,整个部署中的和存储存储相关的组件,mysql、redis、mogodb和minio全都处于这种状态,查询相关pod,全都处于pending状态,等于压根没起来,查看pod的详细 1. kubectl命令列表分类 (1)Basic Commands(Beginner)基础命令(初级) kubectl create 通过yaml/json 文件或者标准输入创建一个资源对象,支持很多子命令 例如namespace pod deployment service等 kubectl expose 将json/yaml文件中定义的资源对象的端口暴露给新的service资源对象 kubectl [root@V71 nfs_test]# cat /etc/exports #/nfs_test 192.168.0.0/16(rw,no_root_squash,no_all_squash,sync) /nfs_test 192.168.0.0/16(rw,sync,all_squash) /nfs2 192.168.0.0/16(rw,sync,all_squash) /nfs...
一、PVPVC的引入 Volume 提供了非常好的数据持久化方案,不过在可管理性上还有不足。 拿前面 AWS EBS 的例子来说,要使用 Volume,Pod 必须事先知道如下信息: 当前 Volume 来自 AWS EBS。 EBS Volume 已经提前创建,并且知道确切的 volume-id。 Pod 通常是由应用的开发人员维护,而 Volume 则通常是由存储系统的管理员维护。开发人员要获得上面的信息: 要么询问管理员。 要么自己就是管理员。 这样就带来一个管理上的问题:应用开发人员和系统
我们对 PVPVC 的几种状态应该不算陌生,但是在使用过程中可能也会产生一些疑问,比如为什么 PVC 变成 Lost 状态了,新创建的 PVC 如何能够绑定之前的 PV,我可以恢复之前的 PV 吗?这里我们就来对 PVPVC 中的几种状态变化再次进行说明。 在不同的情况下,PVPVC 的状态变化我们用如下所示的表格来进行说明: 创建PV 正常情况下 PV 被创建成功后是 Available 状态: apiVersion: v1 kind: PersistentVolume metada.
AgitΩ: 讲下我遇到的,全部按步骤走完后,访问接口报错,信息是Invalid 'iss' in claims,网上找半天没找到,把生成的token拿去解析,确实没有iss值,后来想到了environment里,iss和secret都放在的初始值的位置,但是生成的token在当前值里,把两个参数加到当前值里,解决了问题 疑问的是为什么初始值不行,,, 在Kong网关中使用OAuth2认证 AgitΩ: 一定要好好看完,一步步按着走,我漏了个开启Authorization Code,一直访问不到,报错'unsupported_response_type' 程序员如何提高编程时打字速度的5个Tips 百合本私我: 不是提升打字速度,是提升精准度,不然容易出bug 程序员如何提高编程时打字速度的5个Tips 百合本私我: 十分感谢很有帮助