K8S存储卷和数据卷

                         容器内的目录和宿主机的目录进行挂载

容器在系统上的生命周期是短暂的,delete,k8s用控制器创建的pod,delete相当于重启,容器的状态也会恢复到初始状态,一旦回到初始状态,所有的后天编辑的文件都会消失

容器和几点之间创建一个持久化保存容器内文件的存储卷,即使容器被销毁,删除,重启,节点上的存储卷的数据依然存在,后续也可以继续使用。可以继续将容器内的目录和宿主机挂载,保存的数据继续使用

三种存储方式

emptyDir

作用:

容器内部共享存储卷,k8s系统中,是一个pod当中的多个容器共享一个存储卷目录emptyDir卷可以是pod当中容器在这个存储卷上读取和写入

EmpytyDir是不能挂载到节点的,随着pod的生命周期结束,emptyDir也会结束,数据也不会保留

所以emptyDir就是用来容器内部的共享,lnmp

hostPath

将容器内的挂载点,和节点上的目录进行挂载,hostPath可以实现数据的持久化,node节点被销毁,那么数据也会丢失

面试题:污点设置为NoExecute:节点上的pod会被驱逐,文件数据在不在?

1.Pod被驱逐,并不是node节点被销毁,所有数据还保留在节点上

2.Pod被驱逐(基于控制器创建的)会在其他节点部署,并且会在其他节点上生成一个新的存储卷,数据依然可以持久化

3.EmptyDir的共享数据,会丢失

NFS共享存储

所有的pod内的目录都和节点上的nfs共享目录形成数据卷,所有的数据文件都保存在共享目录当中,集中,方便管理

 查看同一容器不同副本的log

[root@master01 k8s.yaml]# kubectl logs nginx-c85454d4d-4m6p2 -c nginx1
[root@master01 k8s.yaml]# kubectl logs nginx-c85454d4d-4m6p2 -c nginx2

 emptyDir

apiVersion: apps/v1
kind: Deployment
metadata:name: nginxlabels:app: nginx
spec:replicas: 3selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- image: nginx:1.22name: nginx1volumeMounts:- name: htmlmountPath: /usr/share/nginx/html/
#第一个name,存储的名称,可以自定义,mountpath,定义容器内的挂载目录点,和节点或者##其他容器的共享目录- image: nginx:1.22name: nginx2volumeMounts:- name: htmlmountPath: /data/
#引用上一个挂载的名称,表示我将和、usr/share/nginx/html这个目录挂载,由data目录和他挂载command: ["/bin/bash","-c", "while true; do echo $(date) >> /data/index.html; sleep 2; done"]
#每隔两秒打印一下当前时间volumes:- name: htmlemptyDir: {}

 hostPath

apiVersion: apps/v1
kind: Deployment
metadata:name: nginxlabels:app: nginx
spec:replicas: 3selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- image: nginx:1.22name: nginx1volumeMounts:- name: htmlmountPath: /usr/share/nginx/html
#第一个name,存储的名称,可以自定义,mountpath,定义容器内的挂载目录点,和节点或者##其>他容器的共享目录- image: nginx:1.22name: nginx2volumeMounts:- name: htmlmountPath: /data
#引用上一个挂载的名称,表示我将和、usr/share/nginx/html这个目录挂载,由data目录和他挂载command: ["/bin/bash","-c", "while true; do echo $(date) >> /data/index.html; sleep 2; done"]volumes:- name: htmlhostPath:path: /opt/test1type: DirectoryOrCreate
#如果没有/opt/test1就直接创建
# /usr/share/nginx/html, /data ,/opt/test1 ,三者是一体的,在节点上的目录里创建或者修改文件都会改变容器内的文件,不同节点上除了index.html是一样的,其他不一样

 

 NFS共享存储

[root@k8s4 ~]# vim /etc/exports
/data/volumes 192.168.233.0/24(rw,no_root_squash)
[root@k8s4 ~]# cd /data/
[root@k8s4 data]# mkdir volumes
[root@k8s4 data]# chmod 777 volumes
[root@k8s4 data]# systemctl restart rpcbind
Job for rpcbind.service failed because the control process exited with error code. See
#报错之后的操作
[root@k8s4 data]# netstat -antp | grep rpcbind
[root@k8s4 sbin]# kill -9 5513
[root@k8s4 sbin]# systemctl restart rpcbind
[root@k8s4 sbin]# systemctl restart nfs
[root@k8s4 sbin]# showmount -e
Export list for k8s4:
/data/volumes 192.168.233.0/24
#到master01操作
[root@master01 k8s.yaml]# showmount -e 192.168.233.84
Export list for 192.168.233.84:
/data/volumes 192.168.233.0/24
[root@master01 k8s.yaml]# vim e.yamlapiVersion: apps/v1
kind: Deployment
metadata:name: nginxlabels:app: nginx
spec:replicas: 3selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- image: nginx:1.22name: nginx1volumeMounts:- name: htmlmountPath: /usr/share/nginx/html
#第一个name,存储的名称,可以自定义,mountpath,定义容器内的挂载目录点,和节点或者##其>他容器的共享目录- image: nginx:1.22name: nginx2volumeMounts:- name: htmlmountPath: /data
#引用上一个挂载的名称,表示我将和、usr/share/nginx/html这个目录挂载,由data目录和他挂载command: ["/bin/bash","-c", "while true; do echo $(date) >> /data/index.html; sleep 2; done"]volumes:- name: htmlnfs:path: /data/volumesserver: 192.168.233.84
#这里的server可以是ip地址也可以用主机名来替代 如k8s ,主机名要做映射,所有的节点都必须>要做

 

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

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

相关文章

年轻人2023消费图鉴,媒介盒子为你揭秘

回顾近一年的消费,发现大家差不多都是“扣扣嗖嗖的花了很多钱”,如果总结2023年的大众消费关键词,那一定是更加“理性”,据艾瑞咨询《2023年中国消费者洞察白皮书》显示,“精细化”成为2023年的消费关键词,…

十二、QProgressBar的简单使用与样式优化(Qt5 GUI系列)

目录 一、设计需求 二、实现代码 三、代码解析 四、总结 五、扩展(自定义QProgressBar样式) 一、设计需求 在很多应用程序中,在执行费时操作时都会展示一个进度条来展示操作进行的进度。常见的场景,如:拷贝操作、安装操作以及卸载操作。…

Unity组件开发--AB包打包工具

1.项目工程路径下创建文件夹:ABundles 2.AB包打包脚本: using System.Collections.Generic; using System.IO; using UnityEditor; using UnityEditor.SceneManagement; using UnityEngine; using UnityEngine.SceneManagement;public class AssetBundle…

Vue入门三(表单控制|购物车案例|v-model进阶|与后端交互|计算属性|监听属性|Vue生命周期)

文章目录 一、表单控制二、购物车案例三、v-model进阶四、与后端交互跨域问题解决,三种交互方法跨域问题详解1-CORS:后端代码控制,上面案例采用的方式1) 方式一:后端添加请求头2) 方式二:编写中间件3) 方式三&#xff…

代理IP连接不上?网速过慢?自查与解决方法

当您使用代理时,您可能会遇到不同的代理错误代码显示代理IP连不通、访问失败、网速过慢等种种问题。 在本文中中,我们将讨论您在使用代理IP时可能遇到的常见错误、发生这些错误的原因以及解决方法。 一、常见代理服务器错误 当您尝试访问网站时&#…

Mysql系列-1.Mysql基本使用

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理、分布式技术原理、数据库技术🔥如果感觉博主的文章还不错的…

RT-Thread基于AT32单片机的485应用开发(二)

在上篇RT-Thread基于AT32单片机的485应用开发(一)中实现了RS485收发,但总觉得效率不高,函数封装也不完善。考虑到RS485总线应用都是主从式结构,比如工业领域常用的Modbus协议,都是以帧为单位进行收发&#…

【python】内存管理和数据类型问题

一、内存管理 Python有一个自动内存管理机制,但它并不总是按照期望的方式工作。例如,如果创建了一个大的列表或字典,并且没有删除它,那么这个对象就会一直占用内存,直到Python的垃圾回收器决定清理它。为了避免这种情…

【Verilog】运算符

系列文章 数值(整数,实数,字符串)与数据类型(wire、reg、mem、parameter) 系列文章算术运算符关系运算符相等关系运算符逻辑运算符按位运算符归约运算符移位运算符条件运算符连接和复制运算符 算术运算符 …

全志T113开发板Qt远程调试

1引言 通常情况下工程师在调试Qt程序时,需要频繁制作镜像烧录到核心板来测试Qt程序是否完善,这样的操作既费时又费力。这时我们可以通过QtCreator设备功能,定义设备后,在x86_64虚拟机上交叉编译qt程序,将程序远程部署到…

【机器学习前置知识】狄利克雷分布

在阅读本文前,建议先食用以下几篇文章以能更好地理解狄利克雷分布: 二项分布 Beta分布 多项分布 共轭分布 狄利克雷分布 狄利克雷分布(Dirichlet distribution)是Beta分布的扩展,把Beta分布从二元扩展到多元形式就是狄利克雷分布&#…

你Go代码写的像“鸭子”吗???

概 述 Go 语言也提供了接口类型,使得我们可以面向接口编程,将实现和接口分离。在我看来,软件的抽象之美也应该以此来表达,和 Java 语言不同的是 Go 并不是那么 “强制”,它使用了一种 鸭子类型 的方式让动态类型成为可…

three.js : tweenjs创建threejs动画

效果&#xff1a; 代码 <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"></div> <div class"box-right"><…

超凡脱俗的 sudo

文章目录 超凡脱俗的 sudo语法 没有sudo权限的用户指定用户执行命令列出目前sudo的权限使用sudo快速统计家目录的使用情况更多信息 超凡脱俗的 sudo Linux sudo命令以系统管理者的身份执行指令&#xff0c;也就是说&#xff0c;经由 sudo 所执行的指令就好像是 root 亲自执行。…

认识SpringBoot中的条件注解

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 循序渐进学SpringBoot ✨特色专栏&…

虚幻引擎:开创视觉与创意的新纪元

先看看据说虚幻5做出来的东西吧&#xff1a; 虚幻引擎5&#xff01;&#xff01;&#xff01;4K画质PS5实机演示&#xff01; 好了&#xff0c;用文字认识一下吧&#xff1a; 虚幻引擎5.3对UE5的核心工具集作了进一步优化&#xff0c;涉及渲染、世界构建、程序化内容生成&…

【解刊】Elsevier旗下,1区CCF-B,超快审稿:2个月22天录用!

计算机类 • 升区期刊 本次带来Elsevier旗下高分快刊&#xff0c;入选CCF-B类推荐&#xff0c;如有相关领域作者意向投稿&#xff0c;可重点关注&#xff01;更多领域期刊&#xff0c;可移步公众号【Unionpub学术】了解详情~ 01 期刊简介 Computer Networks ✅出版社&#x…

14:00面试,14:07就出来了,问的问题有点变态。。。

前言 刚从小厂出来&#xff0c;没想到在另一家公司我又寄了。 在这家公司上班&#xff0c;每天都要加班&#xff0c;但看在钱给的比较多的份上&#xff0c;也就不太计较了。但万万没想到一纸通知&#xff0c;所有人不准加班了&#xff0c;不仅加班费没有了&#xff0c;薪资还…

回顾基础--HTML篇

HTML语法规范 <html></html> 开始标签与结束标签 <br /> 单标签 包含关系 <head><title></title> </head>并列关系 <head></head> <body></body> 1、 标题标签 标题标签 【双标签】【不同标题字体大小…