【Kubernetes】 emptyDir、nfs存储卷 和 PV、PVC

news2025/1/16 4:58:35

 emptyDir存储卷

当pod被分配给节点

容器和容器之间进行共享存储

hostPath

nfs共享存储卷

NAS 专业的存储设备;一般是与NFS 搭配,然后共享出去

GFS 自己搭;CEPH(至少要9台) 第三方;NAS 第三方;

云端        oss        s3        SLB        LB        CDN(加速缓存);AWS 外网,CDN可以加快访问

查看共享存储

showmount -e

挂载时记得要加ip

主机名要改为域名

设置域名解析

删除所有pod

kubectl delete pod --all

查看帮助

kubectl explain pod.spec.volumes

k8s 官网

验证数据是否保持持久化

PVC和PV

什么是PVC和PV

pv是磁盘;pvc是磁盘的请求;storage

节省资源和

当没有满足需求的pv时,就会报错

PVC的使用逻辑

storagesClass

 

动态pv:事先没有相关的存储资源,当有需求时会进行自动创建

PV和PVC之间的相互作用

k8s 支持存储插件的访问方式

NFS使用PV和PVC

pvc 写入数据到 pv 过程中,无法删除pvc、pv 回收资源;pod释放Volume后就能删除pvc了

例如:创建一个目录然后cd进去,打开新的窗口,删除这个目录,会发现因为占用无法删除

PV的状态(4种)

PV的生命周期

一个PV 从创建到销毁的过程:

回收策略

Retain        保留

Delete        删除

Recycle        回收;保留磁盘的功能,删除数据;

查看pv 定义的规格

定义存储类型

定义挂载卷路径

定义服务器名称,访问模型

满足pvc的大小和规则,去匹配pv;会优先匹配大小接近(>=)的pv;小的不会匹配,大的可以匹配但多余的会被浪费

2、定义PV

3、定义PVC

前端后端打包工具 ?

4、访问测试

实现 NFS 的动态 PV 创建

pod 设置pvc,pvc通过api接口k8s 现在通过api 调用pv 还需要经过第三方插件才行,高并发时就不行了,

pod:放应用、微服务;对接pvc名称

pvc:需求的请求(磁盘的请求),通过restful == API

restful:存储原生不支持k8s,所以需要安装第三发插件;例:nfs存储插件;

             restful通过 连接插件 调用pv

pv:相当于磁盘的分区

外部的插件都需要创建用户并授权才能使用

用户授权

xxxxx

存储挂载目录

创建PVC和Pod 测试

总结

k8s 存储卷 volume

PV-PVC

emptyDir 可以实现pod 中容器之间共享数据,但是存储卷之间不能做持久化数据,并且随着pod生命周期的结束emptyDir一起删除

hostOath

可以实现持久化存储,使用node节点的目录或文件挂载到容器,但是存储空间会受到node节点单机限制;当node节点故障时,数据会丢失;pod跨节点不能共享数据

nfs

nfs:可以实现持久化存储,使用nfs 将存储设备空间挂载到容器中,pod可以跨node节点来共享数据

怎么从本机拉取其他主机的文件

PV        k8s 指定的存储设备空间中,创建持久化的存储

PVC        是对pv 存储资源请求和绑定

StorageClass        sc类型(存储类型),联动存储插件,动态创建PV 资源

静态PV的使用:
准备好存储设备和共享目录;

创建pv资源,进行配置设置存储类型、访问模式、存储能力的大小

创建pvc资源,并配置请求pv资源的访问模式和存储的大小;

pvc 与 pv 进行一对一绑定

在pv 访问模式中必须支持pvc 请求的访问模式

请求的存储空间优先选择相等存储大小的pv资源;当没有匹配的时,会选择大于请求的pv存储资源来绑定(大于pvc的部分会被浪费)

创建 pod 资源 存储类设置 PeristenVolumeClaim 在容器配置存储挂载

动态 storage 

StorageClass 动态创建 pv 的过程

StorageClass + nfs-client-provistioner 

准备 NFS 共享服务器和共享目录

创建sa 服务账号,并进行RBAC 资源操作权限的授权

创建 nfs-client-provistioner 存储插件(以Pod 形式运行的)配置中关联sa服务账号,使存储插件

获得相关资源的操作权限

创建StorageClass 资源,配置中关联存储插件的名称配置

#以上过程完成后,以后只需要创建PV资源就可以动态生成相关的PV资源

创建PVC资源,配置中关联 StorageClass 资源的名称,此时会在 NFS 服务器上生成相关的pv共享目录,目录名 ${namespace} ${PVCname} ${PVname} 格式命名

创建pod资源、存储类型,设置成 PersistentVolumeClaim,在容器中配置存储挂载即可

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【多模态】34、LLaVA-v1.5 | 微软开源,用极简框架来实现高效的多模态 LMM 模型

文章目录 一、背景二、方法2.1 提升点2.2 训练样本 三、效果3.1 整体效果对比3.2 模型对于 zero-shot 形式的指令的结果生成能力3.3 模型对于 zero-shot 多语言的能力3.4 限制 四、训练4.1 数据4.2 超参 五、评测六、代码 论文:Improved Baselines with Visual Inst…

深入对比:Transformer与RNN的详细解析

在深度学习领域,特别是在自然语言处理(NLP)中,循环神经网络(RNN)和Transformer模型都扮演着举足轻重的角色。然而,随着技术的不断发展,Transformer模型逐渐崭露头角,成为…

量子加速超级计算简介

本文转载自:量子加速超级计算简介(2024年 3月 13日) By Mark Wolf https://developer.nvidia.cn/zh-cn/blog/an-introduction-to-quantum-accelerated-supercomputing/ 文章目录 一、概述二、量子计算机的构建块:QPU 和量子位三、量子计算硬件和算法四、…

回炉重造java----JUC(第二天)

Monitor---监视器/管程 对象头: 操作系统提供的Monitor对象 Synchronized底层实现原理: ①锁对象在加了synchronized之后,对象头中的Mark Word中就存了一个Monitor的地址指针。 ②当一个线程获取到锁之后,Monitor中的Owner属性指…

跳跃游戏二

方法一:(双指针法)此题参考跳台阶问题,题目要求求到达最后一个点的最小跳跃次数,那么我们就可以从最后一个往前推,先看谁能离得最远,并且能跳到最后一个。假设i位置是离最后一个位置最远&#x…

python字符串的进阶

在上一篇文章的 密码破解器 中,我们回顾了循环专题的知识点。 while 循环和 for 循环是 Python 中的两大循环语句,它们都可以实现循环的功能,但在具体使用时略有差别。当循环次数不确定时,我们选用 while 循环;当循环…

Flutter Bloc之简单记录

目录 0.库安装 1.插件和自动生成 2.状态的配置 1.初始化中: 2.赋值完成后: 3.如果出错: 3.事件的配置 1.定义一个读取事件 2.定义一个更改事件 4.Bloc的设置 5.Bloc的使用 1.BlocProvider 2.内部调用 参考文章进行类的配置 0.库…

RPA实战演练UiBot6.0校园学生教评机器人

前言 校园学生教评机器人,也称为全自动校园教评RPA(Robotic Process Automation,机器人流程自动化)机器人,是一种利用软件机器人技术来模拟和执行学生教评流程中的各项任务和操作的智能化系统。以下是关于校园学生教评…

【Python绘画】画正方形简笔画

本文收录于 《一起学Python趣味编程》专栏,从零基础开始,分享一些Python编程知识,欢迎关注,谢谢! 文章目录 一、前言二、代码示例三、知识点梳理四、总结 一、前言 本文介绍如何使用Python的海龟画图工具turtle&#…

怎么做好企业短信服务呢?(文字短信XML接口示例)

企业短信服务已经成为各行各业都信赖的行业推广方式之一,并且短信行业也与时俱进的发展着,随之而来的就是市场上短信平台的数量也随之增多。那么怎么在鱼龙混杂的短信行业中选择适合自己的企业短信服务平台呢?企业短信服务平台又适用于哪些应…

④单细胞学习-cellchat细胞间通讯

目录 1,原理基础 流程 受体配体概念 方法比较 计算原理 2,数据 3,代码运行 1,原理基础 原文学习Inference and analysis of cell-cell communication using CellChat - PMC (nih.gov) GitHub - sqjin/CellChat: R toolk…

mysql高级刷题-01-求中位数

题目: 解题代码 select sum(num) / count(num) as median from (select num,row_number() over (order by num desc,id desc ) as desc_math,row_number() over (order by num ,id ) as asc_mathfrom number) as t1 where asc_math in (desc_math, desc…

期末考试后,老师如何发布期末成绩给学生家长查看

当期末的脚步悄然临近,作为班主任,深知期末成绩的发布不仅关系到学生和家长的期待,更是教学成果的重要体现。那么,有没有一种方法,既能保护学生隐私,又能方便家长和学生查询成绩呢? 答案是肯定有…

Python 全栈系列249 IO并发:异步、线程与协程

说明 很久没有关注这方面的问题了,平时大部分时候还是做批量操作 。在这种情况下(CPU密集),异步、协程这些意义就不大了,甚至可能进一步拖慢处理时间。 但是在IO这一块的零碎处理是比较重要的,可以更快,且更省资源。很早的时候&…

css动画案例练习之会展开的魔方和交错的小块

这里写目录标题 一级目录二级目录三级目录 下面开始案例的练习,建议第一个动手操作好了再进行下一个一、交错的小块效果展示1.大致思路1.基本结构2.实现动态移动 2.最终版代码 二、会展开的魔方1.大致思路1.基本结构;2.静态魔方的构建3.让静态的魔方动起来 2.最终版…

使用python绘制华夫饼图

使用python绘制华夫饼图 华夫饼图效果代码 华夫饼图 华夫饼图(Waffle Chart)是一种数据可视化图表,用于显示数据在一个网格中的分布情况。它类似于饼图,通过将数据划分为等大小的方块来表示不同类别的比例。华夫饼图的优势在于它…

图解Mysql索引原理

概述 是什么 索引像是一本书的目录列表,能根据目录快速的找到具体的书本内容,也就是加快了数据库的查询速度索引本质是一个数据结构索引是在存储引擎层,而不是服务器层实现的,所以,并没有统一的索引标准,…

bootstrap5-学习笔记2-模态框+弹窗+tooltip+popover+信息提示框

参考: Bootstrap5 教程 | 菜鸟教程 https://www.runoob.com/bootstrap5/bootstrap5-tutorial.html Bootstrap 入门 Bootstrap v5 中文文档 v5.3 | Bootstrap 中文网 https://v5.bootcss.com/docs/getting-started/introduction/ 之前用bootstrap2和3比较多&#x…

音频信号分析与实践

音频信号分析与实践课程,方便理解音频信号原理和过程 1.音频信号采集与播放 两种采样模式和标准的采样流程 人说话的声音一般在2kHz一下: 采样频率的影响:采样率要大于等于信号特征频率的2倍;一般保证信号完整,需要使用10倍以上的…

Git权限管理

Git权限管理 简介:大家好,我是程序员枫哥,🌟一线互联网的IT民工、📝资深面试官、🌹Java跳槽网创始人。拥有多年一线研发经验,曾就职过科大讯飞、美团网、平安等公司。在上海有自己小伙伴组建的副…