PersistentVolume:怎么解决数据持久化

news/2024/11/28 22:35:52/

Kubernetes 的 Volume 对数据存储已经给出了一个很好的抽象,它只是定义了有这么一个“存储卷”,而这个“存储卷”是什么类型、有多大容量、怎么存储,我们都可以自由发挥。Pod 不需要关心那些专业、复杂的细节,只要设置好 volumeMounts,就可以把 Volume 加载进容器里使用。

 PersistentVolume 对象,它专门用来表示持久存储设备,但隐藏了存储的底层实现。作为存储的抽象,PV 实际上就是一些存储设备、文件系统,比如 Ceph、GlusterFS、NFS,甚至是本地磁盘,管理它们已经超出了 Kubernetes 的能力范围,所以,一般会由系统管理员单独维护,然后再在 Kubernetes 里创建对应的 PV。

PV 属于集群的系统资源,是和 Node 平级的一种对象,Pod 对它没有管理权,只有使用权。

PersistentVolumeClaim,简称 PVC,从名字上看比较好理解,就是用来向 Kubernetes 申请存储资源的。PVC 是给 Pod 使用的对象,它相当于是 Pod 的代理,代表 Pod 向系统申请 PV。一旦资源申请成功,Kubernetes 就会把 PV 和 PVC 关联在一起,这个动作叫做“绑定”(bind)。

apiVersion: v1
kind: PersistentVolume
metadata:name: host-10m-pvspec:storageClassName: host-testaccessModes:- ReadWriteOncecapacity:storage: 10MihostPath:path: /tmp/host-10m-pv/

“storageClassName”对存储类型的抽象 StorageClass。这个 PV 是我们手动管理的,名字可以任意起,这里我写的是 host-test,你也可以把它改成 manual、hand-work 之类的词汇。

“accessModes”定义了存储设备的访问模式,简单来说就是虚拟盘的读写权限,和 Linux 的文件访问模式差不多,目前 Kubernetes 里有 3 种:

  • ReadWriteOnce:存储卷可读可写,但只能被一个节点上的 Pod 挂载。
  • ReadOnlyMany:存储卷只读不可写,可以被任意节点上的 Pod 多次挂载。
  • ReadWriteMany:存储卷可读可写,也可以被任意节点上的 Pod 多次挂载。

你要注意,这 3 种访问模式限制的对象是节点而不是 Pod,因为存储是系统级别的概念,不属于 Pod 里的进程。

“capacity”表示存储设备的容量,这里我设置为 10MB。

“hostPath”它指定了存储卷的本地路径,也就是我们在节点上创建的目录。

一个 PVC,要求使用一个 5MB 的存储设备,访问模式是 ReadWriteOnce:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: host-5m-pvcspec:storageClassName: host-testaccessModes:- ReadWriteOnceresources:requests:storage: 5Mi

PVC 的内容与 PV 很像,但它不表示实际的存储,而是一个“申请”或者“声明”,spec 里的字段描述的是对存储的“期望状态”。

PVC 里的 storageClassName、accessModes 和 PV 是一样的,但不会有字段 capacity,而是要用 resources.request 表示希望要有多大的容量。

Kubernetes 就会根据 PVC 里的描述,去找能够匹配 StorageClass 和容量的 PV,然后把 PV 和 PVC“绑定”在一起,实现存储的分配。

此文章为7月Day19学习笔记,内容来源于极客时间《Kubernetes入门实战课》,推荐该课程。


http://www.ppmy.cn/news/957420.html

相关文章

博彦博彦博彦

博|彦mi 10086xiaoxiongX 10086xiaoxiong. 10086xiao. 10086xiaoxiong.X 堡垒机新密 !10086xiaoxiongX https://e-cology.beyondsoft.com/wui/index.html?v1653299353060#/?_keyizpsux 邮箱 xiaoxiong01 10086xiao.

博彦科技以太机器人平台亮相世界人工智能大会 赋能企业智慧升级

上海2018年9月18日电 /美通社/ -- 2018年9月17日,2018世界人工智能大会首日,在微软全球执行副总裁、微软人工智能及微软研究事业部负责人沈向洋博士的开场主旨演讲中,博彦科技以太机器人平台,作为微软人工智能合作伙伴创新解决方案…

面试记录_博彦科技

2021/9/3 成都 博彦科技 测试实习生 电话一面(不得不说这家公司效率很高,规模也大,下午网上笔试完合格后晚上就安排电话一面,本来想着投Java,结果测试的笔试过了,就去试试) 简单介绍自己 算法…

博彦科技offer到手,但甲方变更,程序员只能忍吞苦果吗

面试很快结束了,面试后HR 小姐姐就告诉你面试通过了。由于薪资问题第二天才定下来,offer 在 2020年 5月28晚上就下来了。如下图 很快开始了一系列的入职流程,1 薪资证明 2,离职证明 3,最夸张的是一张表格 ..等。继续上…

博彦科技面试题-最新(上海)

As last blog mentioned( 中软面试题-最新) ,Some outsourcing company,like chinasoft, beyondsoft, vinceinfo, Hisoft,wicresoft, etc. all the process of interview is the same, if you pass the interview of these company, according to the co…

博彦科技上演蛇吞象并购 股价逆势大涨

“如未来顺利完成该交易,我公司认为将极大地加强公司IT服务外包的交付能力,完善公司的行业布局和客户布局。”博彦科技公司方面如是说。 5月31日消息,继前一交易日大涨5.22%后,博彦科技昨日(5月31日)逆势冲…

Power bi 4.2 博彦日历

关注微信公共号:小程在线 关注CSDN博客:程志伟的博客 数据集链接见微信公共号底端 1.在Power BI中导入可视化效果, 点击… 选择导入自定义视觉对象,点击导入。 2. 选择我们需要导入的视觉对象。 3. 在可视化就会出现新的图形。 …

博彦科技4亿定增图谋境外软件外包 现金流考验

受日元贬值的影响,主要面对日本市场的大展子公司利润将受到冲击 4月19日,上市仅一年零三个月的博彦科技(002649.SZ)公布定增方案,拟以不低于19.16元/股发行不超过2100万股股票,募集不超过4.02亿元资金。 其中,2.07亿…