应用存储和持久化数据卷

本文介绍了Kubernetes中的Volume类型,包括本地、网络存储和ProjectedVolume,以及静态和动态存储Provisioning的区别。静态存储需要管理员预先规划,动态存储则通过StorageClass模板和PVC实现按需分配。
摘要由CSDN通过智能技术生成

Kubernetes Volume 类型:

  1. 本地存储:emptydir/hostpath …
  2. 网络存储:
    in-tree: awsElasticBlockStore/gcePersistentDisk/nfs …
    out-of-tree: flexvolume/csi等网络存储volume plugins
  3. Projected Volume:secret/configmap/downwardAPI/serviceAccountToken
  4. PVC与PV体系

在这里插入图片描述
静态存储与动态存储
在这里插入图片描述
静态 Provisioning:由集群管理员事先预分配一些存储,也就是预先创建一些 PV;然后用户在提交自己的存储需求(也就是 PVC)的时候,K8s 内部相关组件(PersistentVolumeController)会帮助它把 PVC 和 PV 做绑定;之后用户再通过 pod 去使用存储的时候,就可以通过 PVC 找到相应的 PV,Static Volume Provisioning的不足:Cluster Admin需要提前规化或预测存储需
求,而User的需求是多样化的,很容易导致User提交的PVC找不到合适的PV

静态存储使用:
创建PV对象,将NAS文件系统大小,挂载点,以及PV的access mode,reclaim policy等信
息添加到PV对象中。
User:

  1. 创建PVC对象,声明存储需求。
  2. 创建应用pod并通过在.spec.volumes 中通过PVC声明volume, 通过.spec.containers.volumeMounts声明container挂载使用该volume。
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
集群管理员不预分配 PV,只写了一个模板文件(StorageClass就是创建PV的模板),这个模板文件是用来表示创建某一类型存储(块存储,文件存储等)所需的一些参数,这些参数是用户不关心的,用户只需要提交自身的存储需求,也就是PVC文件,并在 PVC 中指定使用的存储模板(StorageClass)

动态存储使用例子
在这里插入图片描述
在这里插入图片描述
Pod 使用Volumes
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值