PersistentVolume(PV)的回收策略、访问策略和状态是Kubernetes存储管理中的重要概念。

回收策略

  1. Retain:当PV的回收策略设置为Retain时,即使对应的PersistentVolumeClaim(PVC)被删除,PV也不会被自动删除。PV将进入Released状态,此时管理员可以手动回收PV,或者重新创建一个PVC来绑定这个PV。如果PV中包含重要数据,这种策略可以确保数据不会因PVC的删除而丢失。
  2. Recycle:当PV的回收策略设置为Recycle时,当PVC被删除后,PV中的数据将被清除(类似于执行rm -rf /thevolume/*),然后PV将变为Available状态,可以被新的PVC重新绑定。这种策略可以节省存储空间,但需要注意数据丢失的风险。
  3. Delete:当PV的回收策略设置为Delete时,当PVC被删除后,对应的PV也会被自动删除。这种策略适用于那些不再需要的PV,或者PV中的数据可以重新生成的情况。

访问策略

PV的访问策略通过accessModes字段来指定,它决定了PV可以以何种方式被访问。Kubernetes支持以下三种访问模式:

  1. ReadWriteOnce(RWO):PV可以被单个节点以读写模式挂载。这是最常见的访问模式,适用于大多数应用。
  2. ReadOnlyMany(ROX):PV可以被多个节点以只读模式挂载。这种模式适用于需要共享数据但不需要写入的应用。
  3. ReadWriteMany(RWX):PV可以被多个节点以读写模式挂载。这是最少见的访问模式,因为它需要存储后端支持多个节点同时读写。
  4. ReadWriteOncePod(RWOP):k8s v1.22引入的一种新的PV访问模式。与ReadWriteOnce(RWO)模式类似,RWOP也允许一个节点以读写方式挂载PV,但是RWOP更进一步地限制了这个访问权限,确保整个集群中只有一个Pod可以读取或写入该PV。

在选择PV的回收策略和访问策略时,需要根据应用的需求和存储后端的特性来进行权衡。例如,如果PV中包含重要数据,那么可能需要选择Retain策略来避免数据丢失;如果PV中的数据可以重新生成,那么可以选择Delete策略来节省存储空间。同样,如果应用需要同时从多个节点读写数据,那么需要选择RWX访问模式;如果只需要从单个节点读写数据,那么可以选择RWO访问模式。

状态

PV的状态可以反映其当前的可用性和使用情况。以下是PV可能的状态及其含义:

  1. Available(可用):PV当前未被任何PVC(PersistentVolumeClaim)绑定,可以被任何匹配的PVC绑定。
  2. Bound(已绑定):PV已经被一个PVC绑定,并且该PVC已经被一个Pod使用。此时,PV的存储资源已经被Pod独占使用。
  3. Released(已释放):PVC被删除,但是对应的PV还没有被集群自动回收。此时,PV处于空闲状态,但还不能被其他PVC绑定,需要等待一段时间(由管理员设置)后才能重新变为Available状态。
  4. Failed(失败):PV自动回收失败。这可能是因为PV所在的存储后端出现问题,或者PV的回收策略设置不正确等原因导致的。

需要注意的是,PV的状态是动态变化的,随着PVC的创建、绑定、删除等操作而发生变化。管理员需要密切关注PV的状态,并根据实际情况进行相应的操作,以确保集群中的存储资源能够被高效地利用和管理。

PV的回收策略、访问策略和状态的更多相关文章

  1. Memcache 内存分配策略和性能(使用)状态检查【转】

    前言: 一直在使用Memcache,但是对其内部的问题,如它内存是怎么样被使用的,使用一段时间后想看看一些状态怎么样?一直都不清楚,查了又忘记,现在整理出该篇文章,方便自己查阅.本文不涉及安装.操作. ...

  2. H3C三层交换机S5500初始配置+网络访问策略

    DHCP中继配置命令 dhcp relay address-check enable 命令用来使能DHCP 中继的地址匹配检查功能. undo dhcp relay address-check ena ...

  3. java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)

    java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...

  4. 配置 Sliverlight 跨域访问策略

    Silverlight程序在访问非本域资源时,需要在相应的域根目录下建立跨域访问策略文件才能进行访问. 文件名:clientaccesspolicy.xml 文件内容: <?xml versio ...

  5. <K, V>型缓存:LRU策略 FIFO策略

    <K, V>型缓存:LRU策略 FIFO策略 这两种替换策略都是通过 LinkedHashMap 实现 LinkedHashMap: LinkedHashMap 继承自 HashMap,所 ...

  6. Memcache 内存分配策略和性能(使用)状态检查

    前言: 一直在使用Memcache,但是对其内部的问题,如它内存是怎么样被使用的,使用一段时间后想看看一些状态怎么样?一直都不清楚,查了又忘记,现在整理出该篇文章,方便自己查阅.本文不涉及安装.操作. ...

  7. iptables log日志记录功能扩展应用:iptables自动配置临时访问策略,任意公网登录服务器

    一.修改日志记录: 1. 修改配置文件: vi /etc/rsyslog.conf 添加以下内容 #iptables log kern.=notice /var/log/iptables.log 2. ...

  8. Netty 内存回收之 noCleaner 策略

    前言 对于堆外内存,使用 System.gc() 是不靠谱的,依赖老年代 FGC 也是不靠谱的,而且大部分调优指南都设置了 -DisableExplicitGC 禁用 System.gc().所以主动 ...

  9. 基于CORS的GeoServer跨域访问策略

    GeoServer的跨域访问问题,有多种解决方法,本文介绍一种基于CORS的GeoServer跨域访问方法. CORS简介 CORS是一个W3C标准,全称是"跨域资源共享"(Cro ...

  10. TP-Link访问策略

    参考资料: http://service.tp-link.com.cn/detail_article_111.html

随机推荐

  1. Linux 文件目录操作命令

    Linux 基础的文件目录操作命令,融合多部Linux经典著作,去除多余部分,保留实用部分. 显示目录或文件: 显示目标列表,在Linux系统中是使用率较高的命令.ls命令的输出信息可以进行彩色加亮显 ...

  2. 在K8S中,PV和PVC是如何关联?

    在Kubernetes(简称K8s)中,PersistentVolume (PV) 和 PersistentVolumeClaim (PVC) 是实现存储持久化的关键组件.它们之间的关联是用来动态或静 ...

  3. C++遴选出特定类型的文件或文件名符合要求的文件

      本文介绍基于C++语言,遍历文件夹中的全部文件,并从中获取指定类型的文件的方法.   首先,我们来明确一下本文所需实现的需求.现在有一个文件夹,其中包含了很多文件,如下图所示:我们如果想获取其中所 ...

  4. react实战 系列

    react实战 系列(未完结,持续更新中...) 前言 学习 react 的方法,比较常规的是跟着官方文档边看边做,可是 react 的官网教程有点难(至少比 vue 的难),亦或买几本讲基础的或实战 ...

  5. 适用于Spring Boot Jar的启停部署脚本

    shell脚本参数 使用-z或-n对一个变量判空时, 若直接使用[ -n ARG ]这种形式,当{ARG}中有空格将会报错, line 27: [: sd: binary operator expec ...

  6. 【Android】使用 Broadcast 实现进程间通讯

    1 Broastcast 简介 ​ Broadcast(广播)是 Android 中一种广泛运用的在应用程序之间传输信息的机制.使用 Broadcast 能够很方便得实现进程间通讯,一端通过 send ...

  7. Spring Boot图书管理系统项目实战-1.系统功能和架构介绍

    导航: next:2.项目搭建 1.项目源码 需要源码的朋友,请捐赠任意金额后留下邮箱发送:) 2.项目背景 自己闲着没事写的,供初学spring boot和在校大学生毕业设计学习交流.大神请忽略:) ...

  8. kafka学习笔记03-消息生产者producer

    kafka学习笔记03-消息生产者producer 发送消息整体流程示意图 消息发送的流程示意图: (From:High-level overview of Kafka producer compon ...

  9. linux7/8版本的docker-ce安装(2022/5/27亲测可行)

    centos7 # 先配阿里源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup curl - ...

  10. ZYNQ 裸机模式下修改默认uart端口

    ## 背景 调试ZYNQ 裸机code, 调用 printf()后在UART端口无法看到打印信息输出,查看原理图后发现,板子用的UART 1作为默认串口调试接口,UART 0分配给了RS485使用,因 ...