K8S Volumes学习笔记 2021-07-08

名词解释

container:容器

vlumes:数据卷

pod:最小可运行组件

作用

        1. 使container数据可以长久保存

        2. 使container之间可以共享数据

 如果不使用volumes,container会在每次重启时,恢复成最原始的状态。

基础挂载

和docker volume 类似 挂载共享一些文件、路径

PersistentVolume(PV)

持久卷(PersistentVolume,PV)是集群中的一块存储,可以由管理员事先供应,或者 使用存储类(Storage Class)来动态供应。 持久卷是集群资源,就像节点也是集群资源一样。PV 持久卷和普通的 Volume 一样,也是使用 卷插件来实现的,只是它们拥有独立于任何使用 PV 的 Pod 的生命周期。 此 API 对象中记述了存储的实现细节,无论其背后是 NFS、iSCSI 还是特定于云平台的存储系统。

静态 手动创建PV

动态 StorageClass

回收策略

当用户不再使用其存储卷时,他们可以从 API 中将 PVC 对象删除,从而允许 该资源被回收再利用。PersistentVolume 对象的回收策略告诉集群,当其被 从申领中释放时如何处理该数据卷。 目前,数据卷可以被 Retained(保留)、Recycled(回收)或 Deleted(删除)。

Retained(保留)

允许手动回收策略,当删除pvc时,pv仍然存在pv被视为已释放,管理员可以手动回收卷。

Recycled(回收)

如果volume插件支持,recycled 策略会对卷执行 rm -rf 清理该pv

支持插件:NFS HostPath

 Deleted(删除)

删除pvc时会同时删除pv动态卷默认为delete

AWS EBS, GCE PD, Azure Disk, OpenStack Cinder

可通过persistentVolumeReclaimPolicy:Recycle字段配置

访问模式 

PersistentVolume 卷可以用资源提供者所支持的任何方式挂载到宿主系统上。 如下表所示,提供者(驱动)的能力不同,每个 PV 卷的访问模式都会设置为 对应卷所支持的模式值。 例如,NFS 可以支持多个读写客户,但是某个特定的 NFS PV 卷可能在服务器 上以只读的方式导出。每个 PV 卷都会获得自身的访问模式集合,描述的是 特定 PV 卷的能力。

访问模式有:

  • ReadWriteOnce -- 卷可以被一个节点以读写方式挂载;
  • ReadOnlyMany -- 卷可以被多个节点以只读方式挂载;
  • ReadWriteMany -- 卷可以被多个节点以读写方式挂载。

在命令行接口(CLI)中,访问模式也使用以下缩写形式:

  • RWO - ReadWriteOnce
  • ROX - ReadOnlyMany
  • RWX - ReadWriteMa

PersistentVolumeClaim(PVC)

持久卷申领(PersistentVolumeClaim,PVC)表达的是用户对存储的请求。概念上与 Pod 类似。 Pod 会耗用节点资源,而 PVC 申领会耗用 PV 资源。Pod 可以请求特定数量的资源(CPU 和内存);同样 PVC 申领也可以请求特定的大小和访问模式 (例如,可以要求 PV 卷能够以 ReadWriteOnce、ReadOnlyMany 或 ReadWriteMany 模式之一来挂载,参见访问模式)。

个人理解:类似于 role 和 rolebinding的关系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值