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

 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,在容器中配置存储挂载即可

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一维时间序列信号的小波时间散射变换(MATLAB 2021)

小波散射变换的目的在于获取第一层次的特征信息,即免疫平移、轻微形变的信息。而低通的滤波器能够获取输入信号的概貌,获取反映其整体大尺度特征的信息,以图像为例,由低通滤波器选取的信号对于图像的平移、伸缩、旋转等局部变化有…

信息学奥赛初赛天天练-20-完善程序-vector数组参数引用传递、二分中值与二分边界应用的深度解析

PDF文档公众号回复关键字:20240605 1 2023 CSP-J 完善程序1 完善程序(单选题,每小题 3 分,共计 30 分) 原有长度为 n1,公差为1等升数列,将数列输到程序的数组时移除了一个元素,导致长度为 n 的开序数组…

阿里云私有CA使用教程

点击免费生成 根CA详情 启用根CA -----BEGIN CERTIFICATE----- MIIDpzCCAogAwIBAgISBZ2QPcfDqvfI8fqoPkOq6AoMA0GCSqGSIb3DQEBCwUA MFwxCzAJBgNVBAYTAkNOMRAwDgYDVQQIDAdiZWlqaW5nMRAwDgYDVQQHDAdiZWlq aW5nMQ0wCwYDVQQKDARDU0REMQ0wCwYDVQQLDARDU0REMQswCQYDVQQDDAJDTjA…

【踏雪无痕的痕六】——数学中有意思的问题

一、背景介绍 提出一个问题往往比解决一个问题更有意义,因为提出一个问题相当于提出了一个思考问题的维度;而解决一个问题是沿着这个维度将已有的知识串起来的过程 三、过程 1.数人数你会吗? 小名再第10位,小李再第15位&#…

AI论文工具推荐

AI 在学术界的使用情况也比较疯狂,特别是一些美国大学,用 AI 来辅助阅读文献以及辅助写论文的越来越多,毕竟确实可以提高写作效率,特别是在文献综述和初稿生成方面。 但在科研界其实,发现看论文的速度已经赶不上发论文…

【踩坑记录】代码看起来没问题 但是报错No tab with id:1682523514.-作者:【小可耐教你学影刀RPA】

前言 有一个企业用户反馈 同一个代码 跑出来不同的结果 我也有点疑惑 是bug吗??我让他环境保持一致 还是出现这个报错~~~ 为了避免影响他的业务我还是决定远程~~~ 不远程还真发现不了这个问题~~~ 原因 业务的的代码如下 就一个很简单的循环点击获取新…

【Linux】Linux工具——gdb

1. gdb 概述 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能…

Vue3中的常见组件通信之v-model

Vue3中的常见组件通信之v-model 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-model3. $r…

Spring Boot整合Jasypt 库实现配置文件和数据库字段敏感数据的加解密

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

4.2 索引及其操作

对数据库中的表进行查询操作时有两种搜索扫描方式,一种是全表扫描,另一种就是使用表上建立的索引进行扫描。 全表扫描要查找某个特定的行,必须从头开始一一查看表中的每一行,与查询条件做对比,返回满足条件的记录&…

二叉树和堆

二叉树和堆 树的概念及结构树的一些术语(概念)树的表示二叉树的概念及结构二叉树概念与其结构 二叉树的性质二叉树的存储 堆堆的概念堆的实现向上调整算法向下调整算法 实现堆数据结构堆的插入取堆顶数据堆顶数据删除 堆排序TopK问题 本文主要介绍二叉树…

mysql buffer pool 详解

概念:为了缓存磁盘中的页,mysql服务器启动时会向操作系统申请一片连续的内存空间,这片连续的内存空间叫做buffer pool,即缓冲池。 buffer pool 默认大小:128M innodb_buffer_pool_size:自定义缓冲池大小 …

这家公司的39亿存款,无法收回了?

新闻提要 4日晚间,亿利洁能发布公告称,亿利财务公司对于公司存放在亿利财务公司的 39.06 亿元货币资金的用途主要是向亿利集团及其关联方发放贷款,近日公司获悉相关贷款已被划分为次级贷款(不良贷款的一种)&#xff0…

【Intro】Cora数据集介绍

https://graphsandnetworks.com/the-cora-dataset/ Graph Convolutional Network (GCN) on the CORA citation dataset — StellarGraph 1.0.0rc1 documentation pytorch-GAT/The Annotated GAT (Cora).ipynb at main gordicaleksa/pytorch-GAT GitHub Cora数据集 Cora数据…

RA8D1-Vision Board上OSPI-Flash实践

Vision-Board 开发板是 RT-Thread 推出基于瑞萨 Cortex-M85 架构 RA8D1 芯片,拥有Helium和TrustZone技术的加持,性能非常强大。 内核:480 MHz Arm Cortex-M85,包含Helium和TrustZone技术 存储:集成2MB/1MB闪存和1MB SRAM(包括TCM,512KB ECC保护) 外设:兼容xSPI的四线O…

web刷题记录(3)

[NISACTF 2022]checkin 简单的get传参,好久没做过这么简单的题了 王德发?????!,看了源代码以后,本来以为是js脚本的问题,但是禁用js脚本没用,看了大佬的wp以后…

游戏缺失xinput1_3.dll怎么修复,总结几种有效的修复方法

在现代科技日新月异的时代,电脑已经成为我们生活和工作中不可或缺的工具。然而,由于各种原因,电脑可能会出现一些错误或问题,其中之一就是找不到xinput13.dll文件,这个问题会导致软件或者游戏无法正常启动运行&#xf…

认识微服务,认识Spring Cloud

1. 介绍 本博客探讨的内容如下所示 什么是微服务?什么是springcloud?微服务和springcloud有什么关系? 首先,没有在接触springcloud之前,我写的项目都是单体结构, 但随着网站的用户量越来越大,…

【云原生】Kubernetes----Ingress对外服务

目录 引言 一、K8S对外方式 (一)NodePort 1.作用 2.弊端 3.示例 (二)externalIPs 1.作用 2.弊端 3.示例 (三)LoadBalancer 1.作用 2.弊端 (四)Ingress 二、Ingress的…

kubeedge v1.17.0部署教程

文章目录 前言一、安装k8s平台二、部署kubeedge1.部署MetalLB(可选)2.cloud3.edge4. 部署nginx到edge端 总结参考 前言 本文主要介绍kubeedge v1.17.0的安装过程 主要环境如下表 应用版本centos7.0k8s1.28.2kubeedge1.17.0docker24.0.8centos7.0 一、安装k8s平台 本文主要参…