综述

持久化卷(Persistent Volume, PV)允许用户将外部存储映射到集群,而持久化卷申请(Persistent Volume Claim, PVC)则类似于许可证,使有授权的应用(Pod)可以使用PV。

●持久化卷(Persistent Volume,PV)。
●持久化卷申请(Persistent Volume Claim,PVC)。
●存储类(Storage Class,SC)。

概括地说,PV代表的是Kubernetes中的存储;PVC就像许可证,赋予Pod访问PV的权限;CS则使分配过程是动态的。

概念

PVC 的全称是:PersistentVolumeClaim(持久化卷声明),PVC 是用户存储的一种声明,PVC 和 Pod 比较类似,Pod 消耗的是节点,PVC 消耗的是 PV 资源,Pod 可以请求 CPU 和内存,而 PVC 可以请求特定的存储空间和访问模式。对于真正使用存储的用户不需要关心底层的存储实现细节,只需要直接使用 PVC 即可。

k8s pvc的使用

ka get pv
ka get pvc
ka get pod
ka get svc/service

为什么要引入PV和PVC

  • Pod本身具有生命周期,故其内部运行的容器及其相关数据自身均无法持久存在。Docker支持配置容器使用存储卷将数据持久存储于容器自身文件系统之外的存储空间中,它们可以是节点文件系统或网络文件系统之上的存储空间。相应地,Kubernetes也支持类似的存储卷功能,不过,其存储卷是与Pod资源绑定而非容器。简单来说,存储卷是定义在Pod资源之上、可被其内部的所有容器挂载的共享目录,它关联至某外部的存储设备之上的存储空间,从而独立于容器自身的文件系统,而数据是否具有持久能力则取决于存储卷自身是否支持持久机制。

存储卷类型

  • Kubernetes支持非常丰富的存储卷类型,包括本地存储(节点)和网络存储系统中的诸多存储机制,甚至还支持Secret和ConfigMap这样的特殊存储资源。对于Pod来说,卷类型主要是为关联相关的存储系统时提供相关的配置参数,例如,关联节点本地的存储目录与关联GlusterFS存储系统所需要的配置参数差异巨大,因此指定存储卷类型时也就限定了其关联到的后端存储设备。

emptyDir & hostPath & NFS & Ceph & GlusterFS

  • emptyDir与hostPath属于节点级别的卷类型,emptyDir的生命周期与Pod资源相同,而使用了hostPath卷的Pod一旦被重新调度至其他节点,那么它将无法再使用此前的数据。因此,这两种类型都不具有持久性。要想使用持久类型的存储卷,就得使用网络存储系统,如NFS、Ceph、GlusterFS等,或者云端存储,如gcePersistentDisk、awsElasticBlockStore等。

Kubernetes为此专门设计了一种集群级别的资源PersistentVolume(简称PV),它借由管理员配置存储系统,而后由用户通过“persistentVolumeClaim”(简称PVC)存储卷直接申请使用的机制大大简化了终端存储用户的配置过程,有效降低了使用难度。

Secret

  • Secret用于向Pod传递敏感信息,如密码、私钥、证书文件等,这些信息如果直接定义在镜像中很容易导致泄露,有了Secret资源,用户可以将这些信息存储于集群中而后由Pod进行挂载,从而实现将敏感数据与系统解耦。

ConfigMap

  • ConfigMap资源则用于向Pod注入非敏感数据,使用时,用户将数据直接存储于ConfigMap对象中,而后直接在Pod中使用ConfigMap卷引用它即可,它可以帮助实现容器配置文件集中化定义和管理。

volumesMounts

  • name :指定要挂载的存储的名称,必选字段。
  • mountPath :挂载点路径,容器文件系统上的路径,必选字段。
  • readOnly :是否挂载为只读卷。
  • subPath :挂载存储卷时使用的子路径,即在mountPath指定的路径下使用一个子路径作为其挂载点。

存储卷概述

挂载模式

  • ReadWriteOnce(RWO):限制一个PV只能以读写方式被挂载或绑定到一个PVC。尝试将其绑定到多个PVC的话会失败。块存储通常只支持RWO
  • ReadWriteMany(RWM):则允许一个PV能够以读写方式被绑定到多个PVC上。这种模式通常只支持诸如NFS这样的文件或对象存储。
  • ReadOnlyMany(ROM):允许PV以只读方式绑定到多个PVC。

清理模式

  • Delete:Delete是更危险的方式,也是在使用存储类动态创建PV时的默认策略。这一策略会删除对应的PV对象以及外部存储系统中关联的存储资源,从而可能导致数据丢失!因此必须谨慎使用该策略。
  • Retain:Retain则会保留对应的PV对象,以及外部存储系统中的资源。不过,也会导致其他PVC无法继续使用该PV。如果想要继续使用保留的PV,则需要执行如下3个步骤。1.手动删除该PV。2.格式化外部存储系统中相对应的存储资源。3.重新创建PV。注意,在实验环境中,非常容易忘记还需要执行以上3个步骤来尝试重新使用一个旧的已删除的设置为retain策略的PV。

k8s pv pvc相关推荐

  1. 【K8S】k8s pv,pvc无法删除问题

    一般删除步骤为:先删pod再删pvc最后删pv. 遇到的问题 但是遇到pv始终处于"Terminating"状态,而且删不掉.如下图: 解决方法 直接删除k8s中的记录: kube ...

  2. k8s mysql pv_k8s+mysql+pv+pvc+NFS实现mysql容器编排

    k8s+mysql+pv+pvc+NFS实现mysql容器编排 首先需要介绍概念:pv和pvc PV 是集群提供的一种存储资源,是实际可用的磁盘.和挂 PV 的 Pod 有着独立的生命周期,Pod 销 ...

  3. k8s——pv(静态+动态storageclass)与pvc

    k8s--pv(静态+动态storageclass)与pvc PVC和PV PV概念 PVC概念 PV与PVC之间的关系 两种PV的提供方式 基于nfs创建静态PV资源和PVC资源 配置nfs存储(1 ...

  4. K8s PV和PVC(动态)

    存储类(StorageClass) 当用户需要使用存储时,需要通过PVC进行绑定PV,有几种情况会出现问题(一句话就是k8s你不自能) PVC需求匹配不到需要的PV PVC需求量很大的时候,PV创建会 ...

  5. 资源利用率监控与存储卷(pv/pvc)

    官网:https://kubernetes.io/zh/ 一.资源利用率的概述 k8s容器创建的时候是随机分配的,如果随机分配时,有一个节点分配得比较多时,则会出现卡顿等等的事情: 1.metrics ...

  6. [Kubernetes]PV,PVC,StorageClass实战----|||

    第一篇: [Kubernetes]PV,PVC,StorageClass实战----| 第二篇: [Kubernetes]PV,PVC,StorageClass实战----|| 官网 Storage ...

  7. k8s-----(| 三 |)存储Volume卷,PV / PVC,nfs持久化

    文章目录 一. 存储Volume 卷 1. emptyDir本地临时卷 2. hostPath 本地卷 二 . PV/PVC 1. 概念 2. PV 一些概念 (1)PV 的类型(插件) (2)访问模 ...

  8. Kubernetes-卷/存储卷(emptyDir/hostPath/pv/pvc)(十)

    1 卷的介绍 1.1 卷的概念   在搞容器的时候,我们在处理完应用如何起,如何运行,最终落实到数据的时候,我们又要考虑2个问题:容器是如何访问外部磁盘存储的?容器之间如何共享存储空间?在一些场景下, ...

  9. Kubernetes PV/PVC/StroageClass 持久化存储简介

    2019独角兽企业重金招聘Python工程师标准>>> PersistentVolume(简称PV)和PersistentVolumeClaim(简称PVC) PersistentV ...

最新文章

  1. Java之String,StringBuffer,StringBuilder
  2. springcloud出现org.springframework.boot.context.properties.ConfigurationPropertie错误
  3. 【深度好文】过了30岁,做技术开发、工程师还有前途吗?
  4. php酷狗音乐json,用php来搜索酷狗音乐
  5. VNC实现Windows远程访问Ubuntu 16.04【转载】
  6. android 功能清单文件夹,全新Android L大小全部功能清单整理
  7. js双通信java,js和java的http通信
  8. 【总结】最短路径条数问题
  9. CentOS6.5 linux 逻辑卷管理 调整分区大小
  10. 国二java好过还是office好过,计算机二级考哪一个科目比较容易过,Ms office 较为简单实用...
  11. 经济应用文写作【6】
  12. 计算矩阵A与矩阵B的欧式距离
  13. 微信小程序接口服务器,微信小程序--调用外部服务器接口
  14. 团队的英文翻译缩写_公司部门英文缩写简称大全
  15. exlsx表格教程_excel表格制作教程
  16. 电脑文档出现乱码怎么恢复?文档出现了乱码怎么恢复
  17. 复旦MBA项目GNW海外课程|连线全球顶尖商学院,跨时空学习精彩无限!
  18. 从四大造字法看文字所承载的文化_举例说明汉语汉字所承载的文化信息?
  19. STC15 串口一 接收 发送 基本程序
  20. python做excel数据分析带gui_Python进阶量化交易专栏场外篇25-GUI工具实现excel功能...

热门文章

  1. IDC报告:PC销售下降11.5%
  2. keycode里的回车键
  3. 如何保证库存数量及时
  4. 中国移动研究院常年招聘 北京 西安
  5. 263发布EM新品迈入统一通信
  6. python 之 __slots__
  7. java后台生成图片(加载外部字体)
  8. 推荐三个优秀的国外HTML5网页设计网站
  9. 一年级计算机应用基础重点,计算机应用基础各章重点知识点.doc
  10. linux云安装mysql_1.Linux系统安装MySql数据库(阿里云)