kubernetes学习笔记17:pod volumn和pod volumn claim
pod volumn可以在容器重启之后,之前的数据不丢失,可以共享数据,有本地存储和网络存储(in-tree,out-of-tree),它是独立于pod之外的,volume是存在于pod里面的,pod volune将配置信息以卷的形式挂载在容器中,容器通过posix访问数据,但是它无法准备表达数据volumn复用和共享语义,新功能难扩展,优化点在于存储和计算分离,解藕pod和volumn生命周期,像java中到具体实现类,这时诞生了persistent pod,但是它不能职责分离,不能简化user对存储的需求,不是面向对象编程抽血出来的接口,只是接口的实现,这时诞生pvc,只是对pv对一个claim声明,不负责具体实现,像java中到接口,声明方式:
"volumes":[{ "name": "logs", "persistentVolumeClaim": { "claimName": "pvc-logs" } }]
然后挂在到容器的指定目录,挂载方式:
1 2 3 4 | "volumeMounts" : [{ "mountPath" : "/data/logs" , "name" : "logs" }] |
然后就是使用这个/data/logs了,使用方式:
s使用shell脚本, mkdir -pv /data/logs/nginx;
用户在PVC使用存储的时候只需关心存储大小和访问模式(存储被多个node level共享还是单个node level独占,注意不是pod level,读写模式)。
pv产生方式有动态和静态两种,静态不足是cluster admin需要提前规划存储需求,而user需求是多变的,动态产生解决这个问题,集群管理员不预分配pv,写模板文件,模板文件用来创建某一类型存储所需参数,这些参数用户不关心,用户关心自己提交存储需求,也就是PVC文件,并在PVC中指定模板。
分类:
kubernates
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?