PV的回收策略、访问策略和状态
PersistentVolume(PV)的回收策略、访问策略和状态是Kubernetes存储管理中的重要概念。
回收策略
- Retain:当PV的回收策略设置为Retain时,即使对应的PersistentVolumeClaim(PVC)被删除,PV也不会被自动删除。PV将进入Released状态,此时管理员可以手动回收PV,或者重新创建一个PVC来绑定这个PV。如果PV中包含重要数据,这种策略可以确保数据不会因PVC的删除而丢失。
- Recycle:当PV的回收策略设置为Recycle时,当PVC被删除后,PV中的数据将被清除(类似于执行rm -rf /thevolume/*),然后PV将变为Available状态,可以被新的PVC重新绑定。这种策略可以节省存储空间,但需要注意数据丢失的风险。
- Delete:当PV的回收策略设置为Delete时,当PVC被删除后,对应的PV也会被自动删除。这种策略适用于那些不再需要的PV,或者PV中的数据可以重新生成的情况。
访问策略
PV的访问策略通过accessModes字段来指定,它决定了PV可以以何种方式被访问。Kubernetes支持以下三种访问模式:
- ReadWriteOnce(RWO):PV可以被单个节点以读写模式挂载。这是最常见的访问模式,适用于大多数应用。
- ReadOnlyMany(ROX):PV可以被多个节点以只读模式挂载。这种模式适用于需要共享数据但不需要写入的应用。
- ReadWriteMany(RWX):PV可以被多个节点以读写模式挂载。这是最少见的访问模式,因为它需要存储后端支持多个节点同时读写。
- ReadWriteOncePod(RWOP):k8s v1.22引入的一种新的PV访问模式。与ReadWriteOnce(RWO)模式类似,RWOP也允许一个节点以读写方式挂载PV,但是RWOP更进一步地限制了这个访问权限,确保整个集群中只有一个Pod可以读取或写入该PV。
在选择PV的回收策略和访问策略时,需要根据应用的需求和存储后端的特性来进行权衡。例如,如果PV中包含重要数据,那么可能需要选择Retain策略来避免数据丢失;如果PV中的数据可以重新生成,那么可以选择Delete策略来节省存储空间。同样,如果应用需要同时从多个节点读写数据,那么需要选择RWX访问模式;如果只需要从单个节点读写数据,那么可以选择RWO访问模式。
状态
PV的状态可以反映其当前的可用性和使用情况。以下是PV可能的状态及其含义:
- Available(可用):PV当前未被任何PVC(PersistentVolumeClaim)绑定,可以被任何匹配的PVC绑定。
- Bound(已绑定):PV已经被一个PVC绑定,并且该PVC已经被一个Pod使用。此时,PV的存储资源已经被Pod独占使用。
- Released(已释放):PVC被删除,但是对应的PV还没有被集群自动回收。此时,PV处于空闲状态,但还不能被其他PVC绑定,需要等待一段时间(由管理员设置)后才能重新变为Available状态。
- Failed(失败):PV自动回收失败。这可能是因为PV所在的存储后端出现问题,或者PV的回收策略设置不正确等原因导致的。
需要注意的是,PV的状态是动态变化的,随着PVC的创建、绑定、删除等操作而发生变化。管理员需要密切关注PV的状态,并根据实际情况进行相应的操作,以确保集群中的存储资源能够被高效地利用和管理。
PV的回收策略、访问策略和状态的更多相关文章
- Memcache 内存分配策略和性能(使用)状态检查【转】
前言: 一直在使用Memcache,但是对其内部的问题,如它内存是怎么样被使用的,使用一段时间后想看看一些状态怎么样?一直都不清楚,查了又忘记,现在整理出该篇文章,方便自己查阅.本文不涉及安装.操作. ...
- H3C三层交换机S5500初始配置+网络访问策略
DHCP中继配置命令 dhcp relay address-check enable 命令用来使能DHCP 中继的地址匹配检查功能. undo dhcp relay address-check ena ...
- java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)
java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...
- 配置 Sliverlight 跨域访问策略
Silverlight程序在访问非本域资源时,需要在相应的域根目录下建立跨域访问策略文件才能进行访问. 文件名:clientaccesspolicy.xml 文件内容: <?xml versio ...
- <K, V>型缓存:LRU策略 FIFO策略
<K, V>型缓存:LRU策略 FIFO策略 这两种替换策略都是通过 LinkedHashMap 实现 LinkedHashMap: LinkedHashMap 继承自 HashMap,所 ...
- Memcache 内存分配策略和性能(使用)状态检查
前言: 一直在使用Memcache,但是对其内部的问题,如它内存是怎么样被使用的,使用一段时间后想看看一些状态怎么样?一直都不清楚,查了又忘记,现在整理出该篇文章,方便自己查阅.本文不涉及安装.操作. ...
- iptables log日志记录功能扩展应用:iptables自动配置临时访问策略,任意公网登录服务器
一.修改日志记录: 1. 修改配置文件: vi /etc/rsyslog.conf 添加以下内容 #iptables log kern.=notice /var/log/iptables.log 2. ...
- Netty 内存回收之 noCleaner 策略
前言 对于堆外内存,使用 System.gc() 是不靠谱的,依赖老年代 FGC 也是不靠谱的,而且大部分调优指南都设置了 -DisableExplicitGC 禁用 System.gc().所以主动 ...
- 基于CORS的GeoServer跨域访问策略
GeoServer的跨域访问问题,有多种解决方法,本文介绍一种基于CORS的GeoServer跨域访问方法. CORS简介 CORS是一个W3C标准,全称是"跨域资源共享"(Cro ...
- TP-Link访问策略
参考资料: http://service.tp-link.com.cn/detail_article_111.html
随机推荐
- SpringSecurity使用步骤
一.导入jar包(使用maven构建项目导入其坐标) <dependency> <groupId>org.springframework.security</groupI ...
- CentOS7环境下MySQL的主从配置
CentOS7环境下MySQL的主从配置 一.什么叫主从复制 通过在主服务器和从服务器之间切分处理客户查询的负荷,可以得到更好的客户响应时间.通俗点说就是select查询发送到从服务器,修改数据的语句 ...
- OGG-将PostgreSQL通过OGG_BigData同步到Kafka后数据存在8小时时间差
问题描述: 将PostgreSQL通过OGG_BigData同步到Kafka后数据存在8小时时间差. 问题原因: kafka.properties中的参数goldengate.userexit.tim ...
- ABC 313
前三题过水. D题 与 5+*的题解 注意:交互题每输出一次,就要 fflush(stdout); 一次 E 其实不是太难,但是赛时一直在搓 D 还没搓出来 首先如果有两个大于 \(1\) 的数相邻, ...
- JS Leetcode 278. 第一个错误的版本 题解分析
壹 ❀ 引 本题来自LeetCode的278. 第一个错误的版本,难度简单,端午节就应该做点容易的题目缓解心情,题目描述如下: 你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最新 ...
- CF1823D Unique Palindromes
题目链接 题解 知识点:构造. 首先反证法容易证明一个结论:每次增加一个字符,本质不同的回文子串至多增加一个. 那么无解的条件就是,\(c_i - c_{i-1} > x_i -x_{i-1}\ ...
- NC24727 [USACO 2010 Feb G]Slowing down
题目链接 题目 题目描述 Every day each of Farmer John's N (1 <= N <= 100,000) cows conveniently numbered ...
- NC21467 [NOIP2018]货币系统
题目链接 题目 题目描述 在网友的国度中共有n种不同面额的货币,第i种货币的面额为a[i],你可以假设每一种货币都有无穷多张.为了方便,我们把货币种数为n.面额数组为a[1..n]的货币系统记作(n, ...
- Android上的日志
Android的日志机制和普通的Java项目有一些不一样, 这里记录一下 安卓内建的Log 安卓应用类型(在build.gradle里定义 android {...})的模块, 可以直接引用内建的an ...
- spring boot使用拦截器修改请求URL
假如我要将请求路径中/foobar都去掉? 1.定义拦截器 package com.laoxu.test.helloweb; import org.springframework.stereotype ...