k8s的存储卷
存储卷------数据卷
把容器内的目录,和宿主机的目录进行挂载。
容器在系统上的生命周期是短暂的,delete,k8s用控制(deployment)创建的pod,delete相当于重启,容器的状态也会回复到初始状态。
一旦回到初始状态,所有后天编辑的文件都会消失。
容器和节点之间创建一个可以持久化保存容器内文件的存储卷。即使容器被销毁,删除,重启,节点上的存储卷的数据依然存在,后续也可以继续使用。可以继续容器内目录和宿主机挂载,保存的数据继续使用。
1、emptyDir
作用:在容器内部共享存储卷,k8s系统中,是一个pod当中的多个容器共享一个存储卷目录。
emptyDir卷可以是pod当中容器在这个存储卷上读取和写入。
emptyDir是不能挂载到节点上的。随着pod的生命周期结束,emptyDir也会结束,数据也不会保留。
容器内部共享。lnmp。

第一个name,存储卷的名称,可以自定义,mountPath,定义容器内的挂载目录点,和节点或者其他容器的共享目录
- image:nginx:1.22
name:nginx2
volumeMounts:
name:html
mountPath:/data
引用上一个挂载点的名称,表示我将和/usr/share/nginx/html/这个目录挂载,由data目录和它挂载
command: ["/bin/bash","-c","while true";do]
volumes:

2、hostPath:
将容器内的挂载点,和节点上的目录进行挂载,hostPath可以实现数据的持久化。node节点被销毁,那么数据也会丢失。
污点设置为:NoExecute:节点上的pod会被驱逐,文件数据在不在?
pod的驱逐,并不是node节点被销毁,所有数据还保留在节点上。
pod被驱逐(基于控制器创建的)会在其他节点重新部署,又会在其他节点生成一个新的存储卷。数据依然可以持久化。
emptyDir的共享数据,会丢失。hostPath还在。

hostPath:
path: /opt/test
type:DirectoryCreate
一个pod有多个容器,用-c进入不同的容器
3、NFS共享存储:
/data/volumes 192.168.233.0/24(rw,no_root) 9:38
方式1:
所有pod内的目录和节点上的nfs共享目录形成数据卷,所有的数据文件都保存在
释义图:

方式2:

9:52
指定server可以共享节点的ip地址,也可以是主机名,主机名要做映射
pvc和pv:
pv:全称Persistent Volume 持久化存储,描述和定义一个存储卷,pv是由我们运维人员来定的。
pvc:persistent Volume Claim 持久化存储的请求。pvc实际上是用来描述或者声明我希望使用什么样的pv来进行存储。
pvc-pv是一一对应的关系(描述,存储(大小))
pvc------>pv------NFS
pvc和pv都是虚拟化的概念,是k8s的抽象的虚拟的存储资源。
图示:
发起请求的读写方式要一致,读写空间要比它大,最优选择
pod内的挂载点声明一个请求,pvc请求,pvc会找一个最合适的pv来作为pod的存储卷,pv和共享目录再一一映射,最终由nfs来提供最终的共享存储空间。
pvc和pv之间的静态请求,一旦有成百个pvc怎么办,所以还有动态pvc。10:13

pv是集群当中的存储资源,pvc请求存储资源,也是对存储资源的一个检索(检查索引),选择一个最合适pv来存储资源。
pv和pvc之间是由生命周期管理:
1、Provisioning(配置)------pvc请求request------检索(找一个合适的pv)------pvc和pv(binding绑定)------使用------pod被删除------pv的releasing(释放)------recying(回收)
配置:静态,动态
绑定:就是把pv分配给pvc
使用:就是pod通过pvc使用存储资源------NFS
释放:pod解除和挂载卷volume的关系,删除pvc
回收:保留pv,以供下一个pvc使用。
pv的状态:
Available:可用,而且没有被任何pvc绑定
Bound:绑定,表示pv已经绑定到了pvc,绑定即使用
released:释放,pvc已经被删除了,但是pv的存储资源还没有被集群回收
Failed:表示pv资源回收失败,而且pv为不可用状态。
ReadWriteOnce:RWO,配置文件里面是全称,表示存储pv可读可写,但是只能被单个pod挂载
ReadOnlyMany:ROX,存储的pv可以以只读的方式被多个pod挂载
ReadRriteMany:RWX,存储可以支持读写的方式被多个pod共享。
nfs:可以支持三种读写和挂载的方式
SCSI
ISCSI:不支持ReadRriteMany
iscsiadm -m session -P 3
iscsiadm 查看服务器是否有iscsi设备
-m session:指定操作的会话模块,管理iscsi会话
-P 3:显示详细信息的级别。级别就是3.显示详细信息。
hostPath:只支持ReadWriteOnce方式。
集群回收pv资源的方式:
Retain 保留,pod和挂载点的数据不会被删除
Recycle:回收,pv上的数据被删除,挂载点的数据也被删除
Delete:淡出,解绑时,自动删除PV上的数据。(本地磁盘不能使用,AWS,EBS GCE)支持动态卷的可以使用,pv不再使用(云平台自己处理)。
补充:当pod运行之后,通过pvc请求到了pv,除非pod被销毁,否则无法删除pvc.
vim /etc/exports

/data/volumes 192.168.233.0/24(rw,no_root_squash)
/data/v1 192.168.233.0/24(rw,no_root_squash)
/data/v2 192.168.233.0/24(rw,no_root_squash)
/data/v3 192.168.233.0/24(rw,no_root_squash)
/data/v4 192.168.233.0/24(rw,no_root_squash)
/data/v5 192.168.233.0/24(rw,no_root_squash)

在各个节点上查看挂载情况




vim pv.yaml
一个yaml文件里面定义多个
apiversion: v1
kind: PersistentVolume
metadata:
name: pv001
labels:
name: pv001
spec:
nfs:
path: /data/v1
server: 192.168.233.94
accseeModes: ["ReadwriteMany","ReadWriteOnce"]
capacity:
storage: 2Gi
---











apiversion:v1
kind: PersistentVolumeClaim
metadata:
name: mypvc
spec:
accessModes: ["ReadWriteMany"]
#pvc期望请求的pv的读写挂载类型是什么
resource:
requests:
storage: 2Gi
#pvc期望请求pv的存储大小是2G,期望的pv类型:readwritemany 大小是2G
---
11:24
静态

pvc--------
delete之后
动态卷是要删除的。
总结:
k8s当中存储卷的模式:
emptyDir:容器内存储卷,随着pod被销毁,也会销毁,数据不保留
hostPath:节点目录的存储卷,可以实现持久化存储。数据在每个节点上都有,不方便集中管理
nfs:共享目录存储卷,可以实现持久化,数据集中在一个目录,方便管理
pv和pvc:
pvc请求---------pv的存储资源------磁盘空间(NFS)
nfs支持pvc的所有挂载方式和读写模式
hostPath仅支持ReadWriteOnce方式
pvc是以检索的方式找到匹配的pv资源
检索挂载方式和读写方式
检索pv能够提供的存储资源的大小
谁合适选谁
保留:默认可以不写
回收:自动回收,节点上的数据会被删除
删除:pv会变成failed模式,不可用,数据也会被删除。
静态比较繁琐,如何能自动的匹配pv资源呢?
动态pvc
相关文章:
k8s的存储卷
存储卷------数据卷 把容器内的目录,和宿主机的目录进行挂载。 容器在系统上的生命周期是短暂的,delete,k8s用控制(deployment)创建的pod,delete相当于重启,容器的状态也会回复到初始状态。 …...
Git 实战指南:常用指令精要手册(持续更新)
👑专栏内容:Git⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、Git 安装过程1、Windows 下安装2、Cent os 下安装3、Ubuntu 下安装 二、配置本地仓库1、 初始化 Git 仓库2、配置 name 和 e…...
关于SpringMVC前后端传值总结
一、传递方式 1、查询参数&路径参数 查询参数: URI:/teachers?typeweb GetMapping("/klasses/teachers") public List<Teacher> getKlassRelatedTeachers(String type ) { ... }如果查询参数type与方法的名称相同,则直接将web传入…...
【排序】归并排序(C语言实现)
文章目录 1. 递归版的归并排序1.1 归并排序的思想2. 递归版的归并排序的实现 2. 非递归版的归并排序 1. 递归版的归并排序 1.1 归并排序的思想 归并排序(MERGE - SORT)是建立在归并操作上的一种有效的排序算法, 该算法是采用分治法(Divide a…...
127. 单词接龙
和433.最小基因变化这道题一样的解法。 https://blog.csdn.net/qq_43606119/article/details/135538247 class Solution {public int ladderLength(String beginWord, String endWord, List<String> wordList) {Set<String> cnt new HashSet<>();for (int …...
计算机算法贪心算法
贪心算法(Greedy Algorithm)是一种常见的算法思想,它在每一步选择当前状态下最优的解决方案,从而希望最终能够达到全局最优解。 贪心算法的基本思路是每一步都选择当前状态下的局部最优解,而忽略了当前选择所带来的影…...
基于css实现动画效果
介绍 本文将会基于css,实现各种动画效果,接下来会从简单几个例子入手。 案例 三颗球 <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8" /><title>React App</title><style>…...
18.将文件上传至云服务器 + 优化网站的性能
目录 1.将文件上传至云服务器 1.1 处理上传头像逻辑 1.1.1 客户端上传 1.1.2 服务器直传 2.优化网站的性能 2.1 本地缓存优化查询方法 2.2 压力测试 1.将文件上传至云服务器 客户端上传:客户端将数据提交给云服务器,并等待其响应;用户…...
Linux: module: kheaders;CONFIG_IKHEADERS
文章目录 参考错误开一个玩笑。configcommit参考 https://github.com/iovisor/bcc/pull/2312 https://github.com/iovisor/bcc/pull/3588 https://bugs.gentoo.org/809347 https://lore.kernel.org/lkml/20190408212855.233198-1-joel@joelfernandes.org/ 错误 <built-in…...
Page 251~254 Win32 GUI项目
win32_gui 源代码: #if defined(UNICODE) && !defined(_UNICODE)#define _UNICODE #elif defined(_UNICODE) && !defined(UNICODE)#define UNICODE #endif#include <tchar.h> #include <windows.h>/* Declare Windows procedure */…...
Kafka(七)可靠性
目录 1 可靠的数据传递1.1 Kafka的可靠性保证1.2 复制1.3 Broker配置1.3.1 复制系数1.3.2 broker的位置分布1.3.3 不彻底的首领选举1.3.4 最少同步副本1.3.5 保持副本同步1.3.6 持久化到磁盘flush.messages9223372036854775807flush.ms9223372036854775807 1.2 在可靠的系统中使…...
Spring Data JPA入门到放弃
参考文档:SpringData JPA:一文带你搞懂 - 知乎 (zhihu.com) 一、 前言 1.1 概述 Java持久化技术是Java开发中的重要组成部分,它主要用于将对象数据持久化到数据库中,以及从数据库中查询和恢复对象数据。在Java持久化技术领域&a…...
MES系统数据采集的几种方式
生产制造执行MES系统具有能够帮助企业实现生产数据收集与分析、生产计划管理、生产过程监控等的功能板块,在这里小编就不一一介绍了,主要讲讲它的数据采集功能板块,可以说,数据采集是该系统进行数据统计与生产管理等后续工作的基础…...
铭文 LaunchPad 平台 Solmash 推出早鸟激励计划
为感谢用户对Solmash的支持,Solmash 特别推出“Solmash早鸟激励计划”,以回馈社区的早期参与者,这是专为已经参与Staking Pool或Honest Pool的用户推出的激励。 Solmash NFT激励 被列入早鸟计划的用户,可通过点击:sol…...
【前端规范】
1 前言 HTML 作为描述网页结构的超文本标记语言,一直有着广泛的应用。本文档的目标是使 HTML 代码风格保持一致,容易被理解和被维护。 2 代码风格 2.1 缩进与换行 [强制] 使用 4 个空格做为一个缩进层级,不允许使用 2 个空格 或 tab 字符…...
12、JVM高频面试题
1、JVM的主要组成部分有哪些 JVM主要分为下面几部分 类加载器:负责将字节码文件加载到内存中 运行时数据区:用于保存java程序运行过程中需要用到的数据和相关信息 执行引擎:字节码文件并不能直接交给底层操作系统去执行,因此需要…...
【Docker】Docker安装入门教程及基本使用
🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《Docker实战》。🎯🎯 &…...
语义解析:如何基于SQL去实现自然语言与机器智能连接的桥梁
🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:"没有罗马,那就自己创造罗马~" 目录 语义解析 定义 作用 语义解析的应用场景 场景一: 场景二: 总结语…...
Java项目:117SpringBoot动漫论坛网站
博主主页:Java旅途 简介:分享计算机知识、学习路线、系统源码及教程 文末获取源码 117SpringBoot动漫论坛网站 一、项目介绍 动漫论坛网站是由SpringBootMybatis开发的,旅游网站分为前台和后台,前台为用户浏览,后台进…...
Jenkins基础篇--添加节点
节点介绍 Jenkins 拥有分布式构建(在 Jenkins 的配置中叫做节点),分布式构建能够让同一套代码在不同的环境(如:Windows 和 Linux 系统)中编译、测试等。 Jenkins 运行的主机在逻辑上是 master 节点,下图是主节点和从节点的关系。 添加节点 …...
帆软FineDB数据库驱动上传权限配置与实战指南
1. 为什么需要配置数据库驱动上传权限 在企业级报表开发中,经常会遇到需要连接特殊数据库的场景。帆软报表平台默认只内置了常见数据库的驱动,比如MySQL、Oracle这些。但实际项目中,我们可能需要连接达梦、GBase这些国产数据库,或…...
终极窗口管理指南:如何让重要窗口始终置顶提升3倍工作效率
终极窗口管理指南:如何让重要窗口始终置顶提升3倍工作效率 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop 你是否曾经在视频会议时,会议窗口突然被弹出的…...
别再死记硬背MVC了!通过Unity连连看实战,我搞懂了数据与UI分离的5个真实好处
从连连看实战看数据与UI分离的五大工程化收益 在游戏开发领域,设计模式常常被视为"高级概念"而被初学者敬而远之。但当我真正在Unity中实现一个简单的连连看游戏时,才深刻体会到MVC模式中数据与UI分离带来的实际价值。这不是教科书上的理论说教…...
SEO_10个提升网站排名的实用SEO技巧分享(370 )
SEO:10个提升网站排名的实用SEO技巧分享 在当今的互联网时代,一个网站的成功离不开搜索引擎优化(SEO)。SEO不仅仅是一套技术,更是一种思维方式。本文将详细分享十个实用的SEO技巧,帮助你提升网站的排名,吸…...
【应答器】基于matlab应答器特殊区段信息包报文编码仿真【含Matlab源码 15258期】
💥💥💥💥💥💥💞💞💞💞💞💞💞💞欢迎来到海神之光博客之家💞💞💞Ὁ…...
新手入门:零基础借助快马生成你的第一个openmaic网页版调用程序
今天想和大家分享一个特别适合新手入门的实践项目——如何借助InsCode(快马)平台快速生成你的第一个openmaic网页版调用程序。作为一个刚接触AI开发的新手,我最初看到各种API文档和代码示例时也是一头雾水,但通过这个可视化工具,居然半小时就…...
IP-Adapter-FaceID在社交媒体中的应用:内容创作与分享
IP-Adapter-FaceID在社交媒体中的应用:内容创作与分享 【免费下载链接】IP-Adapter-FaceID 项目地址: https://ai.gitcode.com/hf_mirrors/h94/IP-Adapter-FaceID IP-Adapter-FaceID是一款基于Stable Diffusion的AI人脸生成工具,它通过面部识别模…...
程序员体检报告暗语:甲状腺结节=加班等级说明书
一、当体检报告出现“甲状腺结节”翻开软件测试工程师的体检报告,“甲状腺结节”已成为高频词。医学定义中,甲状腺结节是甲状腺细胞异常增生形成的肿块,随吞咽移动,临床检出率超20%(数据来源:2023年《中国甲…...
秒杀系统主库宕机不丢单方案-02-半同步AFTER_SYNC
秒杀系统主库宕机不丢单方案:半同步AFTER_SYNC(主从确认再提交) 方案概述 半同步复制AFTER_SYNC方案是MySQL 5.7版本引入的高级复制机制,通过主从节点之间的确认机制确保数据不丢失。该方案在主库提交事务前,等待至少一…...
text2vec-base-chinese终极指南:如何用768维向量彻底改变中文语义理解
text2vec-base-chinese终极指南:如何用768维向量彻底改变中文语义理解 【免费下载链接】text2vec-base-chinese 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/text2vec-base-chinese 还在为中文文本的语义匹配而头疼吗?传统的基于关…...
