招聘网站建设方案模板下载/少儿编程培训机构排名前十
存储卷------数据卷
把容器内的目录,和宿主机的目录进行挂载。
容器在系统上的生命周期是短暂的,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 节点,下图是主节点和从节点的关系。 添加节点 …...

【C++】手撕 list类(包含迭代器)
目录 1,list的介绍及使用 2,list_node 3,list_node() 3,list 4,list() 5,push_back(const T& x) 6,print() 7,_list_iterator 8,operator*() 9,…...

@Autowired 和 @Resource 的区别是什么?
Java面试题目录 Autowired 和 Resource 的区别是什么? Autowired 是 Spring 提供的注解。默认的注入方式为byType(根据类型进行匹配)。 Resource 是 JDK 提供的注解。默认注入方式为 byName(根据名称进行匹配)。 当一…...

栈和排序.
给你一个1->n的排列和一个栈,入栈顺序给定 你要在不打乱入栈顺序的情况下,对数组进行从大到小排序 当无法完全排序时,请输出字典序最大的出栈序列 输入 第一行一个数n 第二行n个数,表示入栈的顺序,用空格隔开&…...

springboot 多数据源怎么配置在控制台的sql打印日志
程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》&…...

【WinForms 窗体】常见的“陷阱”
当涉及到 WinForms 窗体编程时,我们可能会遇到一些常见的问题。在本篇博客中,我将为你提供一些常见问题的解决方案。 跨线程访问控件 在 WinForms 中,当在非UI线程上执行操作并尝试访问 UI 控件时,会引发跨线程访问异常。为了解决…...

Android readelf 工具查找函数符号
ELF(Executable and Linkable Format)是一种执行文件和可链接文件的格式。它是一种通用的二进制文件格式,用于在各种操作系统中存储可执行程序、共享库和内核模块。 Android 开发当中的 so 库本质上就是一种特殊类型的 ELF 文件,…...

MySQL-索引回顾
索引是面试高频问答题,参考百度/CSDN/尚硅谷/黑马程序员/阿里云开发者社区,决定将索引知识回顾一下,忘记时,点开即可,时刻保持更新,事不宜迟,即刻享用。 索引概述 索引(index&#…...

重新认识Elasticsearch-一体化矢量搜索引擎
前言 2023 哪个网络词最热?我投“生成式人工智能”一票。过去一年大家都在拥抱大模型,所有的行业都在做自己的大模型。就像冬日里不来件美拉德色系的服饰就会跟不上时代一样。这不前段时间接入JES,用上好久为碰的RestHighLevelClient包。心血…...

【附源码】基于SSM框架的房屋租赁系统的设计与实现
基于SSM框架的房屋租赁系统的设计与实现 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX&…...

[SpringBoot]如何在一个普通类中获取一个Bean
最近在项目中出现了一个这种情况:我一顿操作猛如虎的写了好几个设计模式,然后在设计模式中的类中想将数据插入数据库,因此调用Mapper持久层,但是数据怎么都写不进去,在我一顿操作猛如虎的查找下,发现在普通…...