K8S资源之PVPVC

概念

类似于Docker的数据卷挂载,将Pod中重要的文件挂载到宿主机上,如果Pod发生崩溃等情况自愈时,保证之前存储的数据没有丢失。
数据存储概念

如上图中,将各个Pod中的目录挂载到存储层,如果Pod宕机后自愈均从存储层获取之前的数据,保证数据不会丢失。

网络文件系统-NFS

NFS模型
Master节点搭建一个NFS-Server,Node节点搭建NFS-Client,任意一个节点发生数据变化,均会同步给其他节点,即双向同步。

搭建

  1. 所有节点安装nfs-utils
yum install -y nfs-utils
  1. Master节点配置NFS-Server
#nfs主节点
echo "/nfs/data/ *(insecure,rw,sync,no_root_squash)" > /etc/exportsmkdir -p /nfs/data
systemctl enable rpcbind --now
systemctl enable nfs-server --now
#配置生效
exportfs -r
  1. Node节点配置映射文件
# 测试是否映射成功
showmount -e ${换成自己Master节点的IP:192.168.65.130}#执行以下命令挂载 nfs 服务器上的共享目录到本机路径 /root/nfsmount
mkdir -p /nfs/datamount -t nfs ${换成自己Master节点的IP:192.168.65.130}:/nfs/data /nfs/data
# 写入一个测试文件
echo "hello nfs server" > /nfs/data/test.txt
  1. 验证

Master节点验证

原生方式数据挂载

需要提前在nfs/data/目录下创建nginx-pv目录

使用以下文件创建一个Deployment,同时挂载到nginx-pv目录下,进行验证:

apiVersion: apps/v1
kind: Deployment
metadata:labels:app: nginx-pv-demoname: nginx-pv-demo
spec:replicas: 2selector:matchLabels:app: nginx-pv-demotemplate:metadata:labels:app: nginx-pv-demospec:containers:- image: nginxname: nginxvolumeMounts:- name: htmlmountPath: /usr/share/nginx/htmlvolumes:- name: htmlnfs:server: 192.168.65.130path: /nfs/data/nginx-pv

在Master/Node节点的nginx-pv目录下创建index.html,然后在pod中执行可以看到:
原生方式Pod节点验证

PV & PVC

PV:持久卷(Persistent Volume),将应用需要持久化的数据保存到指定位置

PVC:持久卷申明(Persistent Volume Claim),申明需要使用的持久卷规格

创建PV池

属于静态创建

#nfs主节点
mkdir -p /nfs/data/01
mkdir -p /nfs/data/02
mkdir -p /nfs/data/03

创建PV

apiVersion: v1
kind: PersistentVolume
metadata:name: pv01-10m
spec:capacity:storage: 10MaccessModes:- ReadWriteManystorageClassName: nfsnfs:path: /nfs/data/01server: 192.168.65.130
---
apiVersion: v1
kind: PersistentVolume
metadata:name: pv02-1gi
spec:capacity:storage: 1GiaccessModes:- ReadWriteManystorageClassName: nfsnfs:path: /nfs/data/02server: 192.168.65.130
---
apiVersion: v1
kind: PersistentVolume
metadata:name: pv03-3gi
spec:capacity:storage: 3GiaccessModes:- ReadWriteManystorageClassName: nfsnfs:path: /nfs/data/03server: 192.168.65.130

PV创建结果

PVC的创建与绑定

其会根据storageClassName与需要的storage在静态PV池中获取符合需求的,然后进行自动绑定

kind: PersistentVolumeClaim
apiVersion: v1
metadata:name: nginx-pvc
spec:accessModes:- ReadWriteManyresources:requests:storage: 200MistorageClassName: nfs

PVC创建与绑定

创建Pod时绑定PVC

apiVersion: apps/v1
kind: Deployment
metadata:labels:app: nginx-deploy-pvcname: nginx-deploy-pvc
spec:replicas: 2selector:matchLabels:app: nginx-deploy-pvctemplate:metadata:labels:app: nginx-deploy-pvcspec:containers:- image: nginxname: nginxvolumeMounts:- name: htmlmountPath: /usr/share/nginx/htmlvolumes:- name: htmlpersistentVolumeClaim:claimName: nginx-pvc

宿主机变化
Pod内的变化

参考

  • 笔记
  • PV空间的释放

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

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

相关文章

00_remipi_软件评估记录

1.CPU 1.1 查看CPU信息命令 cat /proc/cpuinfo * processor: 系统中逻辑处理核心的编号,对于多核处理器则可以是物理核,或者使用超线程技术虚拟的逻辑核。 BogoMIPS: 在系统内核启动时粗略测算的CPU每秒运行百万条指令数(Million Instruct…

Selenium 自动化测试平台

1.介绍 Selenium 是一套 Web网站 的程序自动化操作 解决方案。 通过它,我们可以写出自动化程序,像人一样在浏览器里操作web界面。 比如点击界面按钮,在文本框中输入文字 等操作。 而且还能从web界面获取信息。 比如获取 火车、汽车票务信息…

网络编程,网络协议,UDP协议

网络: 1.协议:通信双方约定的一套标准 2.国际网络通信协议标准: 1.OSI协议: 应用层 发送的数据内容 表示层 数据是否加密 会话层 是否建立会话连接 传输层 …

mpls静态lsp实验

实验需求 R1、R2和R3之间已经部署了IGP协议,故192.168.10.0/24与192.168.20.0/24网络之间已经能够互访。现要求通过配置 静态LSP,使得这两个网络之间能基于MPLS进行互访,标签分配如图 组网图 实验思路 1、R1、R2和R3之间已经部署了IGP协议…

泰坦尼克号 - 从灾难中学习机器学习/Titanic - Machine Learning from Disaster(kaggle竞赛)第二集(加载数据)

此次目的: hello大家好,俺是没事爱瞎捣鼓又分享欲爆棚的叶同学!!!准备出几期博客来记录我学习kaggle数据科学入门竞赛的过程,顺便也将其中所学习到的知识分享出来。这是第一集(了解赛题&#x…

宝塔部署Django项目(华为云)

1、登录华为云: 2、点击远程登录: 3、打开宝塔网址(华为云选的是centos) 4、在华为终端复制指令点击运行: 会显示安装完成,出现一个页面记录一下,方便以后登录: 5、复制外网面板地…

【Linux线程】线程的深度解析(线程是什么?线程与进程区别是什么?)

目录 一、前言 二、 什么是线程 💧线程的引入💧 💧线程的基本概念 💧 💧线程的理解 💧 💧进程与线程的关系💧 💧程序如何划分(重拾页表、见一下LWP&…

基于springboot养老院管理系统pf

TOC springboot332基于springboot养老院管理系统pf 第1章 绪论 1.1选题动因 当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和工作的领域。随着电脑和笔记…

Python实战项目:天气数据爬取+数据可视化(完整代码)

一、选题的背景 随着人们对天气的关注逐渐增加,天气预报数据的获取与可视化成为了当今的热门话题,天气预报我们每天都会关注,天气情况会影响到我们日常的增减衣物、出行安排等。每天的气温、相对湿度、降水量以及风向风速是关注的焦点。通过…

实战OpenCV之图像显示

基础入门 OpenCV提供的功能非常多,图像显示是最基础也是最直观的一部分。它让我们能够直观地看到算法处理后的效果,对于调试和验证都至关重要。在OpenCV中,图像显示主要依赖于以下四个关键的数据结构和函数。 1、Mat类。这是OpenCV中最基本的…

LeetCode - LCR 146- 螺旋遍历二维数组

LCR 146题 题目描述: 给定一个二维数组 array,请返回「螺旋遍历」该数组的结果。 螺旋遍历:从左上角开始,按照 向右、向下、向左、向上 的顺序 依次 提取元素,然后再进入内部一层重复相同的步骤,直到提取完…

MySQL数据库入门,pycharm连接数据库—详细讲解

一.安装MySQL 1.常用MySQL5.7,首先安装MySQL, (一) (二) (三) (四) (五) 2.配置环境变量 打开MySQL安装路径,在其中找到…

ArcGis在线地图插件Maponline(好用版)

ArcGis加载插件,可在线浏览谷歌地图、天地图、高德地图、必应地图等多种,包含街道、影像、标注地图等信息(谷歌地图需自备上网手段),免费注册账号即可使用,可加载无水印底图。 与大地2000坐标无需配准直接使…

洛杉物理服务器怎么样?

洛杉矶作为美国科技和互联网的重要中心,物理服务器的质量通常非常高,可以提供卓越的性能、强大的安全性、多样的配置选项和专业的服务支持。以下是对洛杉物理服务器的详细介绍。 1. 优质的性能 稳定的网络连接:洛杉矶物理服务器位于先进的数据…

day32+学习记录

一.算法练习 509.斐波那契数 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1 F(n) F(n - 1) F(n - 2)&#xf…

一键运行RocketMQ5.3和Dashboard

一键运行RocketMQ5.3和Dashboard 目录 一键运行RocketMQ5.3和Dashboard通过Docker Compose 来一键启动运行的容器包括docker-compose.yml文件运行命令启动本地效果查看 参考信息 通过Docker Compose 来一键启动 运行的容器包括 NameServerBrokerProxyDashBoard docker-compo…

关于Qt的系统总结

查看详情http://100bcw.com/qt6.htm 编译环境与开发流程 开发QT有两种IDE可以使用,一种是使用 VS + Qt 的插件,另一种就是使用QtCreator工具。前一种是微软的工具,用的都比较多容易上手,缺点是信号槽的支持不太好,需要手写,不能自动生成,另外可能有中文编码的问题。后一…

c语言 图片.bmp读写示例

1 图片.bmp数据结构 BMP(Bitmap)文件格式是一种简单的位图图像格式,其数据结构分为几个主要部分:文件头、信息头、调色板(可选)和像素数据。下面是各部分的详细说明。 文件头(File Header&…

东晟时尚服饰文化传承与发展研发中心成立

近期,东晟时尚创新科技(北京)有限公司宣布成立东晟时尚服饰文化传承与发展研发中心,此举标志着公司在促进中国传统文化与现代时尚产业结合方面迈出了关键步伐。 作为一家在时尚科技推广和设计研发应用服务领域具有战略眼光的企业&…

【问题记录+总结】VS Code Tex Live 2024 Latex Workshop Springer模板----更新ing

目录 Summary 道阻且长 少即是多 兵马未动粮草先行 没有万能 和一劳永逸 具体问题具体分析 心态 Detail 1、关于模板[官网] 2、settings.json 3、虫和杀虫剂 4、擦 换成Tex Studio都好了。。。 Summary 道阻且长 某中意期刊,只有Latex。之前只简单用过…