用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
数据库
›
分布式数据库
›
k8s存储介绍(五)PV与PVC
k8s存储介绍(五)PV与PVC
自由的羽毛
论坛元老
|
2025-3-28 00:35:38
|
显示全部楼层
|
阅读模式
楼主
主题
2017
|
帖子
2017
|
积分
6051
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
在 Kubernetes(k8s)中,长期化存储(Persistent Storage)是一个非常紧张的概念,因为 Pod 本身是无状态的,重启后会丢失数据。为了支持有状态应用,Kubernetes 提供了长期化存储的机制,主要包罗 PV(Persistent Volume,长期卷)和 PVC(Persistent Volume Claim,长期卷声明)。
1. 什么是 PV 和 PVC?
PV(Persistent Volume,长期卷)
Persistent Volume(PV)是由管理员创建的存储资源,它代表了集群中的实际存储,可以是本地存储、NFS、云存储(如 AWS EBS、Google Persistent Disk)等。PV 是集群级别的资源,不属于特定的命名空间。
PVC(Persistent Volume Claim,长期卷声明)
Persistent Volume Claim(PVC)是用户(开发者或应用)请求存储资源的方式。PVC 代表了对存储的需求,比如存储巨细、访问模式等。Kubernetes 通过 PVC 绑定到符合的 PV,以满足用户的需求。
2. PV 和 PVC 的工作流程
管理员创建 PV
:管理员在集群中定义一个 PV,并指定存储类型、巨细、访问模式等。
用户创建 PVC
:应用程序需要存储时,用户创建 PVC,声明所需的存储资源。
Kubernetes 进行绑定
:Kubernetes 根据 PVC 的请求寻找符合的 PV,并进行绑定。
Pod 挂载 PVC
:Pod 使用 PVC 来挂载存储,应用程序可以像使用本地存储一样访问数据。
3. PV 的定义示例
apiVersion: v1
kind: PersistentVolume
metadata:
name: example-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: standard
hostPath:
path: "/mnt/data"
复制代码
字段表明
:
capacity:指定存储容量,如 10Gi。
accessModes:访问模式,包罗:
ReadWriteOnce(RWO):单个节点可读写。
ReadOnlyMany(ROX):多个节点只读。
ReadWriteMany(RWX):多个节点可读写。
persistentVolumeReclaimPolicy:回收策略:
Retain(保存):PV 开释后数据仍然保存。
Recycle(回收):简单删除数据。
Delete(删除):PV 开释后删除存储。
storageClassName:存储类,允许动态存储。
hostPath:表现本地存储路径。
4. PVC 的定义示例
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: example-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: standard
复制代码
字段表明
:
accessModes:指定访问模式。
resources.requests.storage:请求的存储巨细。
storageClassName:必须与 PV 的存储类匹配。
5. 在 Pod 中使用 PVC
apiVersion: v1
kind: Pod
metadata:
name: example-pod
spec:
containers:
- name: app-container
image: nginx
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: storage
volumes:
- name: storage
persistentVolumeClaim:
claimName: example-pvc
复制代码
阐明
:
volumeMounts:将 PVC 挂载到容器内的 /usr/share/nginx/html 目次。
volumes:引用 example-pvc 作为存储。
6. PV 绑定 PVC 的过程
管理员创建 PV
,它可以是静态的或动态分配的。
用户创建 PVC
,请求特定存储巨细和访问模式。
Kubernetes 绑定 PVC 到符合的 PV
。
Pod 挂载 PVC
,并可以访问存储数据。
7. 应用场景
数据库存储
:MySQL、PostgreSQL、MongoDB 等数据库需要长期化存储,以防止数据丢失。
日志存储
:应用日志需要长期化存储,以便分析和调试,即使 Pod 重新调理,日志仍然可用。
文件共享
:多个 Pod 共享数据,如 NFS 或云存储,多个应用可同时访问雷同数据。
呆板学习
:训练数据集通常很大,需要长期化存储,以供模型训练和分析。
CI/CD 长期化
:在连续集成/连续摆设(CI/CD)流程中,构建缓存或构件存储需要长期化数据。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
自由的羽毛
论坛元老
这个人很懒什么都没写!
楼主热帖
JDBC p2 JDBC API
【MySQL】MySQL的安装、卸载、配置、登 ...
【python】标准库(第四讲)
iOS 组件化及二进制化的探索 ...
线程本地存储 ThreadLocal
Vue使用ajax(axios)请求后台数据 ...
.MD语法入门,教你写好readme文档 ...
Linux【实操篇】—— Shell函数、Shell ...
我眼中的大数据(二)——HDFS ...
go学习笔记(一)
标签云
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
移动端开发
快速回复
返回顶部
返回列表