8、k8s的pv和pvc
pv和pvc的概念
静态
动态——>自动分配
pv:persistent volume,持久化存储卷,描述或者定义存储卷的类型。集群范围内的存储概念,代表的是实际的存储空间(本地磁盘、网络系统文件nfs,云存储)。pv创建成功之后,独立于pod的,不依赖于特定的pod资源。一般都是由运维工程师定义好的。
pvc:persistent volume claim,用户对存储资源的请求,也就是创建pod的时候,我们定义好了对于存储卷的要求(大小,存储类型),在集群当中寻找一个合适的存储资源(pv),和这个pv进行绑定,然后使用。
在使用的过程中,被绑定的pv不可以再被其他pvc请求,当pod生命周期结束之后,pv的资源可以被释放,就可以被后续的请求继续使用(设置的pv类型,以及数据是否保留)。
数据流向
静态

动态

pv和pvc之间的生命周期的关系
1、provisioning(配置)——>匹配对象pv——>绑定——>使用——>使用——>回收(有不同的策略)
2、pv的状态
Available:表示pv的状态可用,且未被其他pvc绑定,只有Available才可以被pvc请求和绑定使用
Reclaiming:回收状态,以及释放,根据回收策略,把pv的资源进行回收,供下一次pvc继续使用
bound:绑定,pv和pvc已经绑定,可以正常使用。
released:已释放的状态,绑定解除,正在等待资源回收,也是不可被请求使用的。
Failed:失败,pv的自动回收失败。
3、回收策略
Retain:保留,即使pv和pvc解除绑定,之前的数据也会保留。
Delete:删除,动态卷可以使用,不仅是删除数据,而且会把pv也会一并删除。
Recycle:自动回收(自动删除),绑定会被解除,数据也会被删除,然后自动的把pv的状态恢复到Available的状态。
4、读写模式和挂载方式
ReadWriteOnce:RWO,存储方式可以读写,但是只能被单个pod挂载。
ReadOnlyMany:ROX,存储方式只能读,可以被多个pod进行挂载。
ReadWriteMany:RWX,存储方式可以读写,而且可以被多个pod进行挂载。
5、挂载卷的类型
emptyDir
hostPath:不支持ReadOnlyMany和ReadWriteMany
nfs:三种模式都可以使用
静态pv实操
1、nfs配置pv的底层,存储空间。
2、配置pv,设置pv的存储大小和读写类型。
3、创建pvc,匹配设置的pv,然后绑定使用。
只有状态是Available的pv可以被pvc请求和绑定使用。
工作中,根据业务的需要,开发提前约定好了,需求的规格,运维人员把pv创建好,等着上线使用即可。
1、nfs配置pv的底层,存储空间。


2、配置pv,设置pv的存储大小和读写类型

运行脚本之后,可以发现pv创建成功。

3、创建pvc,匹配设置的pv,然后绑定使用

运行脚本之后,可以发现我们创建的pvc1已经绑定pv02

恢复
将pv与pvc解绑

edit pv 02后删除如下字段,保存退出即可恢复pv状态成Available。

回收策略

动态pv实操
k8s机制提供了一个插件:stroagecalss——>创建pv的模版,插件pvc之后,找到对应的stroagecalss来完成pv和pvc之间的绑定。
stroagecalss+nfs来实现动态的pv
卷插件:k8s本身不支持nfs创建动态pv,外部的存储插件来实现pv的分配。需要prosisioner,存储卷分配器,外部存储卷的创建会来自动在nfs服务器创建pv。
nfs-client provisioner:当pvc请求时,会自动在nfs服务器上创建pv,然后把pvc的请求实现绑定,从而访问nfs的存储。只要有一个目录就可以实现不同pvc的请求。
配置过程
1、创建好共享的目录
2、配置nfs-client provisioner的集群访问权限
- 为了可以能够创建 pv ,能够获取和绑定pvc的请求,获取storageclass创建的pv的资源。
权限三部分组成
- 账号——>访问集群
- 访问集群的规则,账号拥有的权限
- 把账号的权限绑定到集群当中去
selflink:是api的资源之一,表示资源对象在k8s api中的自身链接,唯一标识,用唯一标识来对集群当中的资源对象进行区分。
3、部署和安装provisioner的插件
动态pv的回收策略没有回收策略,只有保留和删除。
1、创建好共享的目录

2、配置nfs-client provisioner的集群访问权限
首先创建 Service Account 账户,用来管理 NFS Provisioner 在 k8s 集群中运行的权限

接着屏蔽selflink字段,以防报错,添加如下false一行内容
vim /etc/kubernetes/manifests/kube-apiserver.yaml
kubectl delete pods kube-apiserver -n kube-system
kubectl apply -f /etc/kubernetes/manifests/kube-apiserver.yaml


最后运行yml文件

3、部署和安装provisioner的插件


4、实现自动的pv和pvc
首先创建 StorageClass,负责建立 PVC 并调用 NFS provisioner 进行预定的工作。


- RECLAIMPOLICY:pv的回收策略
- VOLUMEBINDINGMODE:Immediate 当用pvc请求时,会立刻绑定一个可用的pv。
- ALLOWVOLUMEEXPANSION:自动挂载,允许扩展大小。
然后使用上面静态pv创建的pvc脚本文件,添加如下一段,表示向class请求pv,让 PV 与 PVC 建立关联。



最后可以发现我们的共享目录已经生产

相关文章:
8、k8s的pv和pvc
pv和pvc的概念 静态 动态——>自动分配 pv:persistent volume,持久化存储卷,描述或者定义存储卷的类型。集群范围内的存储概念,代表的是实际的存储空间(本地磁盘、网络系统文件nfs,云存储)…...
【limit 1000000,10 加载很慢该怎么优化?】
在 SQL 数据库中,使用 LIMIT 子句进行分页查询时,如果偏移量(offset)很大,查询性能可能会变得非常差。 这是因为数据库需要扫描和跳过大量的记录才能到达所需的起始位置,然后再取出所需的记录数。 例如,LIMIT 1000000, 10 表示跳过前 100 万条记录,然后取接下来的 10…...
通过IDEA傻瓜式快速分析java堆内存快照
背景 很多开发都觉得分析堆快照查找内存泄漏、大对象等是一个比较需要技术功底的能力,但其实不然,通过IDEA就可以直接快速分析。 操作流程 通过idea直接打开已经找运维或自行dump好的.hprof文件 选中后,IDEA默认会在底部分析器tab展示解析…...
测试方案整理
搜索引擎放在那里?研发 查看问题样本或者在提取再批量入录等情况,一旦我没有勾选或者全选中已经批量入录的样本,那么在直接点击批量提取或查看问题样本的后,会自动默认为选择全选样本还是按照输入错误处理? 批量查看返…...
2025年视觉、先进成像和计算机技术国际学术会议(VAICT2025)
2025年视觉、先进成像和计算机技术国际学术会议(VAICT2025) 2025 International Conference on Vision, Advanced Imaging,and Computer Technology 【重要信息】 二轮截稿时间:2025年3月18日 注册截址时间:2025年4月11日 会…...
【黑马点评】jmeter测试秒杀接口前后耗时,和查询店铺(redis+caffeine二级缓存)接口
【黑马点评】jmeter测试秒杀接口前后耗时,和查询店铺缓存穿透接口 4.测试秒杀接口耗时4.1 修改VoucherOrderController4.2 测试原本的接口耗时 5. 测试缓存穿透 这篇是测试,使用RabbitMQ消息异步处理订单,以及不异步处理订单的耗时对比 以及查…...
盛铂科技 SCP4006/4018/4040:国产袖珍式功率计 射频微波功率探头 平均功率计
在通信、电子测量等领域,功率计是确保信号稳定、系统高效运行的关键设备。盛铂科技自主研发的 SCP4000 系列自带 USB 接口的袖珍式 CW 信号平均功率计,以其卓越的性能、高性价比和便捷的操作,在众多同类产品中脱颖而出,成为行业内…...
数据科学之数据管理|统计学
使用python学习统计 目录 01 统计学基础 7 一、 统计学介绍 7 二、 数据和变量 8 02 描述统计 10 一、 描述统计概述 10 二、 分类变量的描述 11 三、 等距数值变量的描述 13 四、 等比数值变量的描述 16 五、 常用软件包介绍 16 六、 数值变量的描述统计 18 (一)…...
C++ 设计模式-建造者模式
以下是一个完整的C建造者模式示例,包含产品类、建造者接口、具体建造者、指挥者以及测试代码: #include <iostream> #include <string> #include <memory>// 产品类:汽车 class Car { public:void setBody(const std::str…...
从零搭建:Canal实时数据管道打通MySQL与Elasticsearch
Canal实时同步Mysql Binlog至 Elasticsearch 文章目录 Canal实时同步Mysql **Binlog**至**Elasticsearch** 一. 环境准备1.环境检查检查Mysql是否开启BinLog开启Mysql BinlogJava环境检查 2.新建测试库和表3.新建Es索引 二.**部署 Canal Server****2.1 解压安装包****2.2 配置 …...
Baumer工业相机堡盟工业相机如何通过BGAPI SDK实现一次触发控制三个光源开关分别采集三张图像(C#)
Baumer工业相机堡盟工业相机如何通过BGAPI SDK实现一次触发控制三个光源开关分别采集三张图像(C#) Baumer工业相机Baumer工业相机定序器功能的技术背景Baumer工业相机通过BGAPI SDK使用定序器功能预期的相机动作定序器的工作原理 Baumer工业相机通过BGAP…...
网络安全用centos干嘛 网络安全需要学linux吗
网络安全为啥要学Linux系统,据不完全统计,Linux系统在数据中心操作系统上的份额高达70%。它一般运行于服务器和超级计算机上。 所以我们日常访问的网站后台和app后端都是部署在Linux服务器上的,如果你不会Linux系统操作,那么很多…...
【React】react-redux+redux-toolkit实现状态管理
安装 npm install reduxjs/toolkit react-reduxRedux Toolkit 是官方推荐编写Redux的逻辑方式,用于简化书写方式React-redux 用来链接Redux和React组件之间的中间件 使用 定义数据 创建要管理的数据模块 store/module/counter.ts import { createSlice, Payloa…...
如何通过AI轻松制作PPT?让PPT一键生成变得简单又高效
如何通过AI轻松制作PPT?让PPT一键生成变得简单又高效!在这个信息化飞速发展的时代,PPT已经成为我们日常工作、学习和生活中不可或缺的一部分。无论是公司会议、学术报告,还是个人展示,PPT的作用都不容忽视。很多人对于…...
Springer |第七届2025年区块链、人工智能和可信系统国际会议
Springer |第七届2025年区块链、人工智能和可信系统国际会议 International Conference on Blockchain, Artificial Intelligence, and Trustworthy Systems 【重要日期】 论文提交截止日期:2025年03月01日(第2轮) 会议报名截止日期&…...
新一代SCADA: 宏集Panorama Suite 2025 正式发布,提供更灵活、符合人体工学且安全的应用体验
宏集科技宣布正式推出全新Panorama Suite 2025 SCADA软件!全新版本标志着 Panorama Suite的一个重要里程碑,代表了从 Panorama Suite 2022 开始并跨越三个版本(2022、2023、2025)的开发过程的顶峰。 此次重大发布集中在六个核心主…...
AI在电竞比分网中的主要应用场景
AI在电竞体育比分网的数据应用非常广泛,能够显著提升数据分析、预测、用户体验和商业价值。以下是AI在电竞比分网中的主要应用场景: 1. 实时数据采集与分析 比赛数据实时更新:AI通过自动化系统实时采集比赛数据(如击杀数、经济差、…...
前端快速生成接口方法
大家好,我是苏麟,今天聊一下OpenApi。 官网 : umijs/openapi - npm 安装命令 npm i --save-dev umijs/openapi 在根目录(项目目录下)创建文件 openapi.config.js import { generateService } from umijs/openapi// 自…...
【Pico】使用Pico进行无线串流搜索不到电脑
使用Pico进行无线串流搜索不到电脑 官串方式:使用Pico互联连接电脑。 故障排查 以下来自官方文档 请按照以下步骡排除故障: 确认电脑和一体机连接了相同的路由器WiFi网络(相同网段) IP地址通常为192.168.XX,若两设备的IP地址前三段相同&…...
机柜机箱制冷风扇在使用过程中突然停止运转的原因
在机柜机箱的正常运行中,制冷风扇起着关键的散热作用,可一旦它在使用时突然停止运转,将会对机柜机箱内设备的稳定运行构成严重威胁。而导致这一现象出现的原因较为复杂,主要涵盖以下几个方面。 从电源供应角度来看,这是…...
ThunderAI:用大语言模型插件打造智能邮件工作流
1. 项目概述:当AI助手遇见邮件客户端 如果你和我一样,每天要在Thunderbird里处理几十甚至上百封邮件,那你肯定也经历过那种“邮件疲劳”——写回复时词穷、面对长篇大论需要快速提炼要点、或者想给邮件分个类却懒得手动打标签。传统的邮件客…...
Python开发者必备:Awesome清单高效选型与实战指南
1. 项目概述:一份Python开发者的“藏宝图”如果你是一名Python开发者,无论是刚入门的新手,还是摸爬滚打多年的老手,我相信你都曾有过这样的时刻:面对一个具体的开发需求,比如想找一个好用的Web框架、一个高…...
雨天高速公路元胞传输模型可变限速控制方法【附程序】
✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导,毕业论文、期刊论文经验交流。 ✅ 专业定制毕设、代码 ✅如需沟通交流,点击《获取方式》 (1)雨天改进元胞传输模型参数标定与验证: 在…...
3个步骤让Windows任务栏焕然一新:TranslucentTB如何改变你的桌面体验?
3个步骤让Windows任务栏焕然一新:TranslucentTB如何改变你的桌面体验? 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB …...
如何快速上手Python财经数据分析:AKShare完整新手指南
如何快速上手Python财经数据分析:AKShare完整新手指南 【免费下载链接】akshare AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库 项目地址: https://gitcode.com/gh_mirrors/aks/ak…...
Anylogic建模效率翻倍秘诀:活用‘智能体类型’实现模块化设计与复用
Anylogic建模效率翻倍秘诀:活用‘智能体类型’实现模块化设计与复用 在复杂系统仿真领域,Anylogic凭借其多方法建模能力已成为工业级解决方案的首选工具。但当我们面对包含数百个交互实体的产线仿真时,传统逐个创建智能体的方式不仅效率低下&…...
Avalon-MM接口实战解析:从信号握手到高效传输
1. Avalon-MM接口核心信号解析 第一次接触Avalon-MM接口时,我被那一堆带"_n"后缀的信号名绕得头晕。直到在FPGA项目里实际调试数据采集系统时,才真正理解每个信号的作用。这个内存映射接口最妙的地方在于它的灵活性——你可以像搭积木一样&…...
QueryExcel:如何快速批量查询多Excel文件内容的智能工具指南
QueryExcel:如何快速批量查询多Excel文件内容的智能工具指南 【免费下载链接】QueryExcel 多Excel文件内容查询工具。 项目地址: https://gitcode.com/gh_mirrors/qu/QueryExcel 还在为海量Excel文件中的数据查找而头疼吗?当你有成百上千个Excel表…...
C语言老鸟的私藏:Doxygen注释模板这样写,团队协作效率翻倍
C语言团队协作的Doxygen注释实战指南:从规范到自动化 在嵌入式开发领域,代码注释的混乱程度往往与团队规模成正比。当项目从单人开发扩展到5人以上的协作时,你会发现:同样的功能模块,A工程师用//写单行注释࿰…...
如何快速解锁QQ音乐加密格式:高效智能的完整解决方案
如何快速解锁QQ音乐加密格式:高效智能的完整解决方案 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默认转…...
