k8s存储卷 PV与PVC 理论学习

介绍

存储的管理是一个与计算实例的管理完全不同的问题。PersistentVolume 子系统为用户和管理员提供了一组 API,将存储如何制备的细节从其如何被使用中抽象出来。为了实现这点,我们引入了两个新的 API 资源:PersistentVolume 和 PersistentVolumeClaim。

持久卷(PersistentVolume,PV) 是集群中的一块存储,可以由管理员事先制备,或者使用存储类(Storage Class)来动态制备。持久卷是集群资源,就像节点也是集群资源一样。也就是说不属于任何一个命名空间。PV 持久卷和普通的 Volume 一样,也是使用卷插件来实现的,只是它们拥有独立于任何使用 PV 的 Pod 的生命周期,也就说PV的生命周期是独立的,Pod的销毁不会影响到PV。

持久卷申领(PersistentVolumeClaim,PVC)表达的是用户对存储的请求。概念上与 Pod 类似。Pod 会耗用节点资源,而 PVC 申领会耗用 PV 资源。Pod 可以请求特定数量的资源(CPU 和内存)。同样 PVC 申领也可以请求特定的大小和访问模式(例如,可以挂载为 ReadWriteOnce、ReadOnlyMany、ReadWriteMany 或 ReadWriteOncePod, 请参阅访问模式)。

PVC是可以被划分到命名空间的

尽管 PersistentVolumeClaim 允许用户消耗抽象的存储资源,常见的情况是针对不同的问题用户需要的是具有不同属性(如,性能)的 PersistentVolume 卷。集群管理员需要能够提供不同性质的 PersistentVolume,并且这些 PV 卷之间的差别不仅限于卷大小和访问模式,同时又不能将卷是如何实现的这些细节暴露给用户。 为了满足这类需求,就有了存储类(StorageClass) 资源。

持久卷的类型(1.29版本)

spec.*

csi - 容器存储接口 (CSI)
fc - Fibre Channel (FC) 存储
hostPath - HostPath 卷 (仅供单节点测试使用;不适用于多节点集群;请尝试使用 local 卷作为替代)
iscsi - iSCSI (SCSI over IP) 存储
local - 节点上挂载的本地存储设备
nfs - 网络文件系统 (NFS) 存储

在这里插入图片描述

访问模式

spec.accessModes

PersistentVolume 卷可以用资源提供者所支持的任何方式挂载到宿主系统上。如下表所示,提供者(驱动)的能力不同,每个 PV 卷的访问模式都会设置为对应卷所支持的模式值。 例如,NFS 可以支持多个读写客户,但是某个特定的 NFS PV 卷可能在服务器上以只读的方式导出。 每个 PV 卷都会获得自身的访问模式集合,描述的是特定 PV 卷的能力。

访问模式有:
ReadWriteOnce : 卷可以被一个节点以读写方式挂载。 ReadWriteOnce 访问模式仍然可以在同一节点上运行的多个 Pod 访问该卷。 对于单个 Pod 的访问,请参考 ReadWriteOncePod 访问模式。
ReadOnlyMany : 卷可以被多个节点以只读方式挂载。
ReadWriteMany : 卷可以被多个节点以读写方式挂载。
ReadWriteOncePod特性状态: Kubernetes v1.29 [stable] :卷可以被单个 Pod 以读写方式挂载。 如果你想确保整个集群中只有一个 Pod 可以读取或写入该 PVC, 请使用 ReadWriteOncePod 访问模式。

在命令行接口(CLI)中,访问模式也使用以下缩写形式:

  • RWO - ReadWriteOnce
  • ROX - ReadOnlyMany
  • RWX - ReadWriteMany
  • RWOP - ReadWriteOncePod

在这里插入图片描述

每个 PV 可以属于某个类(Class),通过将其 storageClassName属性设置为某个 StorageClass 的名称来指定。特定类的 PV 卷只能绑定到请求该类存储卷的 PVC 申领。 未设置 storageClassName 的 PV 卷没有类设定,只能绑定到那些没有指定特定存储类的 PVC 申领。

PV 声明 storageClassName

spec:storageClassName: manual

PVC 绑定 设置了storageClassName: manual 的 PV卷

spec:storageClassName: manual

回收策略

目前的回收策略有:

  • Retain – 手动回收
  • Recycle – 简单擦除 (rm -rf /thevolume/*)
  • Delete – 删除存储卷

对于 Kubernetes 1.29 来说,只有 nfs 和 hostPath 卷类型支持回收(Recycle)。

阶段

每个持久卷会处于以下阶段(Phase)之一:
Available:卷是一个空闲资源,尚未绑定到任何申领
Bound:该卷已经绑定到某申领
Released:所绑定的申领已被删除,但是关联存储资源尚未被集群回收
Failed:卷的自动回收操作失败

你可以使用 kubectl describe persistentvolume <name> 查看已绑定到 PV 的 PVC 的名称。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/589020.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SAP MRP之MTO及项目的最小批量最大批量的参数设置

订货生产的批量计算 使用该标识控制面向订单生产和项目生产的批量计算程式的选择。 可以选择以下计算程式&#xff1a; [ ]系统使用短缺库存批量法计算该订单数量。 [1]系统使用短缺库存批量法计算该订单数量&#xff0c;并且还考虑取整数量或最小和最大批量。 [2]系统使用在…

Vue ElementPlus Input 输入框

Input 输入框 通过鼠标或键盘输入字符 input 为受控组件&#xff0c;它总会显示 Vue 绑定值。 通常情况下&#xff0c;应当处理 input 事件&#xff0c;并更新组件的绑定值&#xff08;或使用v-model&#xff09;。否则&#xff0c;输入框内显示的值将不会改变&#xff0c;不支…

C++的并发世界(二)——初识多线程

0.引言 C的并发世界&#xff08;零&#xff09;和C的并发世界&#xff08;一&#xff09;的东西真的对于我这种初学者难以理解&#xff0c;我确定从第一个多线程案例进行学习归纳总结。 1.多线程的目的 ①将耗时的任务进行分解&#xff0c;进行实时响应;   ②充分利用多核CP…

JVM之内存区域划分、类加载、垃圾回收机制(GC)

JVM&#xff08;Java虚拟机&#xff09;是Java编程语言的核心组件之一&#xff0c;它是一个虚拟的计算机环境&#xff0c;用于在各种硬件和操作系统上执行Java字节码。JVM的设计目标是提供一种可移植、安全、高性能的执行环境&#xff0c;使得Java程序能够在不同平台上运行&…

AWS上面部署一台jenkins

问题 客户预算有限&#xff0c;需要在aws云上面搞一台EC2手动安装jenkins发版。 步骤 创建密钥对 在EC2服务里面创建密钥对&#xff0c;具体如下图&#xff1a; 设置密钥对&#xff0c;如下图&#xff1a; 保存好这个私钥文件&#xff0c;以便后续用这个私钥文件ssh登录j…

AI技术助推汽车行业走向更光明的未来

我们在汽车上度过的时间很多&#xff0c;有时候由于交通、天气和其他路况问题&#xff0c;我们在汽车上度过的时间之久甚至会出乎意料。正因如此&#xff0c;保障旅途体验的舒适和安全就显得至关重要。交通事故每天都会发生&#xff0c;因此在车辆中采取额外的安全措施对于所有…

强化基础-Java-泛型基础

什么是泛型&#xff1f; 泛型其实就参数化类型&#xff0c;也就是说这个类型类似一个变量是可变的。 为什么会有泛型&#xff1f; 在没有泛型之前&#xff0c;java中是通过Object来实现泛型的功能。但是这样做有下面两个缺陷&#xff1a; 1 获取值的时候必须进行强转 2 没有…

50位主播带货破亿,抖音3月榜单有哪些看点?

3月&#xff0c;随着“抖音商城38好物节”的开展&#xff0c;平台消费氛围浓郁。数据显示&#xff0c;2月28日至3月8日&#xff0c;平台日均支付GMV同比增长了33%&#xff0c;好物节电商直播累计时长达4327万小时&#xff0c;挂购物车的短视频看播量达760亿次。 不过&#xff0…

基于Zabbix 5.0 实现windows服务器上应用程序和主机端口的状态监控

基于Zabbix 5.0 实现windows服务器上应用程序和主机端口的状态监控 背景 用python开发的应用程序在服务器上运行,有时候会出现程序自动退出却收不到告警的情况 环境 zabbix服务器:Centos7 64位 Windows服务器: Windows 10 64位 软件 zabbix_server:zabbix5.0 zabbix_…

利用Winform实现文字滚动(仅供参考)

本人水平有限&#xff0c;如有写得不对的地方&#xff0c;望指正。为了简单化&#xff0c;做了一个简陋版的滚动控件。本文的内容仅供参考 测试环境&#xff1a; visual studio 2017 .net framework 4.0 原理非常简单&#xff1a; 1 先自定义一个继承UserControl的控件&am…

啥是MCU,MCU科普

啥是MCU&#xff0c;MCU科普 附赠自动驾驶学习资料和量产经验&#xff1a;链接 MCU是Microcontroller Unit 的简称&#xff0c;中文叫微控制器&#xff0c;俗称单片机&#xff0c;是把CPU的频率与规格做适当缩减&#xff0c;并将内存、计数器、USB、A/D转换、UART、PLC、DMA等…

数据恢复工具可以恢复所有丢失的文件吗

随着数字时代的快速发展&#xff0c;数据已经成为我们生活与工作中不可或缺的一部分。然而&#xff0c;数据丢失的风险也随之增大。无论是由于误删除、误格式化、病毒感染还是其他意外情况&#xff0c;数据丢失都可能带来不小的损失。在这种情况下&#xff0c;数据恢复工具应运…