首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kubernetes 1.31:防止删除顺序错误导致的持久卷泄漏

持久卷(简称 PV)与回收策略相关联。回收策略用于确定在删除绑定到 PV 的 PVC 时存储后端需要采取的操作。当回收策略为 Delete 时,预期存储后端会释放为 PV 分配的存储资源。...通常,如果要删除卷,则预期会删除绑定 PV-PVC 对的 PVC。但是,在删除 PVC 之前删除 PV 没有限制。 首先,我将演示运行旧版 Kubernetes 的集群的行为。...检索绑定到 PV 的 PVC 检索现有的 PVC example-vanilla-block-pvc kubectl get pvc example-vanilla-block-pvc 以下输出显示了...Bound pvc-6791fdd4-5fad-438e-a7fb-16410363e3da 5Gi RWO example-vanilla-block-sc 19s 删除 PV 当我尝试删除绑定 PV...当尝试检索 PV 时,将观察到 PV 无法找到: kubectl get pv pvc-6791fdd4-5fad-438e-a7fb-16410363e3da Error from server (NotFound

8210

PV 与 PVC介绍

动态 ​当管理员创建的静态 PV 都不匹配用户的 PersistentVolumeClaim 时,集群可能会尝试动态地为 PVC 创建卷。...绑定 ​master 中的控制环路监视新的 PVC,寻找匹配的 PV(如果可能),并将它们绑定在一起。如果为新的 PVC 动态调配 PV,则该环路将始终将该 PV 绑定到 PVC。...一旦 PV 和 PVC 绑定后, PersistentVolumeClaim 绑定是排他性的,不管它们是如何绑定的。 PVC 跟PV 绑定是一对一的映射。...二、持久化卷 ​持久化卷声明的保护 ​PVC 保护的目的是确保由 pod 正在使用的 PVC 不会从系统中移除,因为如果被移除的话可能会导致数据丢失 # 注意 :当 pod 状态为 “pending”...​Failed(失败)——该卷的自动回收失败 ​命令行会显示绑定到 PV 的 PVC 的名称

3.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PV的状态

    Released:PVC与PV之间的绑定关系已经被删除,但是PV上的数据还没有被清除,这时PV处于Released状态,可以被重新绑定到另一个PVC上使用。...Failed:PV与底层存储后端的连接出现问题,或者存储后端出现了错误,导致PV无法使用,这时PV处于Failed状态。...当PVC被创建后,Kubernetes会尝试将其绑定到一个可用的PV上。如果有可用的PV,则PVC会被绑定到该PV上,PV的状态会变为Bound。...手动绑定:管理员也可以手动将一个Available状态的PV绑定到一个PVC上,这样PV的状态会变为Bound。...手动绑定可以用于将一个PV绑定到一个特定的PVC上,或者将一个PV绑定到多个PVC上(在这种情况下,需要使用ReadWriteMany访问模式)。

    1.5K20

    Kubernetes-卷的概念

    就像节点是集群中的资源一样,PV也是集群中的资源。 PV是Volume之类的卷插件,但具有独立于适用PV的Pod的生命周期。...,他们存在于KubernetesAPI中 动态PV:当管理员创建的静态PV都不匹配用户的persistenVolumeClaim时候,集群可能会尝试动态的为PVC创建卷。...如果为新的PVC动态调配PV,则该环路将始终会把PV绑定到PVC,否则,用户总会得到它们所请求的存储,但是容量可能超出要求的数量。...持久化卷声明的保护 PVC保护的目的是确保Pod正在使用的PVC不会从系统中移除 当启用PVC保护alpha的功能时候,如果用户删除了一个Pod正在使用的PVC,则该PVC不会被立即删除 ,PVC的删除将会被延迟...卷可以处于以下某种的状态 Available:可用-一块空闲资源还没有被任何声明绑定.

    1.1K00

    Longhorn 云原生分布式块存储解决方案设计架构和概念

    如何重建有故障的副本 Longhorn 将始终尝试为每个卷维护至少给定数量的健康副本。 当控制器在其副本之一中检测到故障时,它会将副本标记为处于错误状态(error state)。...您的应用程序需要使用绑定到 PV 的 PVC,并且 PV 应包含 PVC 所需的最少资源。...当 PVC 请求一块存储时,Kubernetes API 服务器将尝试将该 PVC 与预先分配的 PV 匹配,因为匹配的卷可用。...如果可以找到匹配项,则 PVC 将绑定到 PV,并且用户将开始使用该预先分配的存储块。 如果不存在匹配的卷,则 PersistentVolumeClaims 将无限期地保持未绑定状态。...换句话说,您可以创建无限的 PVC,但只有当 Kubernetes 主节点可以找到足够的 PV 且至少具有 PVC 所需的磁盘空间量时,它们才会绑定到 PV。

    1.9K30

    【K8s】Kubernetes 存储之 PersistentVolumeClaim

    spec: storageClass: "" # 确保 PVC 绑定到由管理员预先创建的 PV,而不是由 SC 动态创建的新 PV accessModes: - ReadWriteMany...: requests: storage: 1Gi 1、状态类型(Status) PVC 对象创建后,通常会存在以下几种状态: Pending:PVC 对象已被创建,但尚未绑定 PV...Bound:PVC 对象已成功绑定 PV Lost:PVC 对象绑定的 PV 已不可用或丢失 Failed:PVC 对象无法满足其请求 新建 PVC 对象后,Kubernetes 会根据资源清单的声明查找处于...Available 状态的 PV 对象 如果没找到, PVC 对象状态就会一直处于 Pending 如果能找到,会自动将 PV 对象和 PVC 对象进行绑定,对象状态就会变为 Bound 2、可能情形...对象无法绑定 如果 PVC 对象和 PV 对象声明的 accessModes 不一致,PVC 对象和 PV 对象无法绑定 3、Pod 挂载 Pod 挂载 PVC 时要使用相对路径,避免使用 “ / ”

    15910

    4.深入k8s:持久卷PV、PVC及其源码分析

    如果不是,那它就会遍历所有的、可用的 PV,并尝试将其与这个“单身”的 PVC 进行绑定。...PVC,可以认为PVC是被删除了,那么需要更新释放PV,将PV的状态改为Released; 然后会调用reclaimVolume方法,这个方法里面会根据persistentVolumeReclaimPolicy...对claim进行校验之后会继续检查VolumeName是否为空,这种情况是表明正在绑定中; 如果PVC的VolumeName等于PV的name,那么说明已经绑定,那么更新一下状态为Bound;否则表示PV...绑定到PVC上,但是PVC被绑定到其他PV上,检查一下是否是dynamically provisioned自动生成的,如果是的话就释放这个PV;如果是手动创建的PV,那么调用unbindVolume进行解绑...PV,检查对应的PV是否已经绑定当前的PVC,检查是否有多个PVC绑定到同一个PV上等等。

    1.6K10

    Kubernetes 存储系统 Storage 介绍

    PVC是用户对存储资源PV的请求,根据PVC中指定的条件Kubernetes动态的寻找系统中的PV资源并进行绑定。...local类型也存在一些问题,如果Node的状态异常,那么local存储将无法访问,从而导致Pod运行状态异常。使用这种类型存储的应用必须能够承受可用性的降低、可能的数据丢失等。...绑定 Binding 使用 在用对象保护:对于正在使用的PV提供了保护机制,正在使用的PV如果被用户删除,PV的删除会推迟到用户对PV的使用结束。...具有Class属性的PV只能绑定到还有相同CLASS名称的PVC上。没有CLASS的PV只能绑定到没有CLASS的PVC上。...Reclaim Policy 状态 Available:未被任何PVC使用 Bound:绑定到了PVC上 Released:PVC被删掉,资源未被使用 Failed:自动回收失败 PersistentVolumeClaims

    2K20

    2025年K8s最新高频面试题,看看你能答对几个?

    PVC(PersistentVolumeClaim):用户对存储资源的申请,PVC绑定到合适的PV上供Pod使用。 为什么不建议在生产环境中使用 latest 镜像标签?...Pod的状态(Pod Phase)有哪些? 答案: Pod的状态(Pod Phase)通常包括以下几种: Pending(等待中) Pod已被创建,但尚未调度到节点上,或正在拉取镜像。...Binding(绑定) 当用户创建 PersistentVolumeClaim (PVC) 时,Kubernetes 会根据 PVC 指定的要求(容量、访问模式、存储类别)寻找合适的 PV 并绑定。...PV 与 PVC 一旦绑定,进入 Bound 状态,两者形成一对一绑定关系。 Using(使用) PV 绑定到 PVC 后,Pod 可通过 PVC 挂载并使用存储。...此时数据依旧存在,但无法再被其他 PVC 使用,等待管理员处理。 Reclaiming(回收策略) PV 的回收策略(Reclaim Policy)决定 PV 被释放后的行为。

    8210

    kubetnetes 之存储 PV PVC

    Dynamic:当集群里没有PV符合PVC请求时,集群会尝试动态生成PV。前提是管理员提供过StorageClass资源并且PVC里有StorageClass的描述。...最合适的意思是PVC一定满足PV的要求,单也可能比PVC要求的要多,例如PVC请求5G存储,但当前最小的PV是10G,那么这个PV也会被分配给PVC。 注意一个PV只能绑定给一个PVC。...* Recycled:删除数据(rm -rf /thevolume/*)并允许PV被绑定到其它PVC。 * Deleted: 删除数据并删除PV。.../*”) * Delete – 删除PV Phase Available – PV可以被使用 Bound – PV被绑定到PVC Released – 被绑定的PVC被删除,可以被Reclaim...Bound – PV被绑定到PVC Lost – 找不到绑定的PV 实例 运行实例 通过命令行添加如下三个资源: 1.

    1.3K20

    k8s实践(13)--有状态服务StatefulSet详解

    它不和Pod直接发生关系,而是通过Persistent Volume Claim,简称PVC来实现动态绑定。Pod定义里指定的是PVC,然后PVC会根据Pod的要求去自动绑定合适的PV给Pod使用。...在PVC绑定PV时通常根据两个条件来绑定,一个是存储的大小,另一个就是访问模式。 刚才提到说PV与普通Volume的区别是动态绑定,我们来看一下这个过程是怎样的。...这是PV的生命周期: 首先是Provision,即创建PV,这里创建PV有两种方式,静态和动态。所谓静态,是管理员手动创建一堆PV,组成一个PV池,供PVC来绑定。...动态方式是通过一个叫 Storage Class的对象由存储系统根据PVC的要求自动创建。 一个PV创建完后状态会变成Available,等待被PVC绑定。...Recycle方式,K8S会将PV里的数据删除,然后把PV的状态变成Available,又可以被新的PVC绑定使用。 在实际使用场景里,PV的创建和使用通常不是同一个人。

    5K22

    Kubernetes 之数据存储

    当 Kubernetes 按照计划添加资源感知调度时,将无法考虑 hostPath 使用的资源。 在底层主机上创建的文件或目录只能由 root 写入。...如果为新的 PVC 动态调配 PV,则该环路将始终将该 PV 绑定到 PVC。否则,用户总会得到他们所请求的存储,但是容量可能超出要求的数量。...回收策略 Retain(保留)—— 手动回收 Recycle(回收)—— 基本擦除 Delete(删除)—— 关联的存储资产将被删除 状态 卷可以处于以下的某种状态(命令行会显示绑定到 PV 的 PVC...资源绑定:在用户定义好 PVC 后,系统将根据 PVC 对存储资源的请求(存储空间和访问模式)在已存在的 PV 中选择一个满足 PVC 要求的 PV,一旦找到,就将 PV 与用户定义的 PVC 进行绑定...资源释放:当用户对存储资源使用哪个完毕后,用户可以删除 PVC,与该 PVC 绑定的 PV 将会被标记为已释放,但还不能立刻与其他 PVC 进行绑定。

    2.3K20

    Kubernetes K8S之存储Volume详解 PV概述PVC概述供应绑定使用持久化声明保护回收策略Persistent Volumes类型PV示例PV卷状态PV

    主控制器中的控制循环监视新的PV,找到匹配的PV(如果可能的话),并将它们绑定在一起。如果PV为新的PVC动态配置,那么循环始终将该PV绑定到PVC。...storageClassName:PV可以有一个类,通过将storageClassName属性设置为一个StorageClass的名称来指定这个类。特定类的PV只能绑定到请求该类的PVC。...没有storageClassName的PV没有类,只能绑定到不请求特定类的PVC。...PV卷状态 卷将处于以下某种状态: Available:尚未绑定到声明(claim)的空闲资源 Bound:卷已被声明绑定 Released:声明已被删除,但群集尚未回收该资源 Failed:该卷自动回收失败...CLI将显示绑定到PV的PVC的名称。

    3K20
    领券