pvc是什么意思(包包材质pvc是什么意思)

1 PV/PVC含义

1.1 PersistentVolume(PV)是已经由管理员提供或者动态使用供应的集群中的一块存储的存储类。它是集群中的资源,就像节点是集群资源一样。PV是类似于Volumes的卷插件,但是其生命周期独立于使用PV的任何单个Pod。此API对象捕获NFS,iSCSI或特定于云提供商的存储系统的存储实现的详细信息。

PV特定功能的访问模式
ReadWriteOnce——该卷可以被单个节点以读/写模式挂载
ReadOnlyMany——该卷可以被多个节点以只读模式挂载
ReadWriteMany——该卷可以被多个节点以读/写模式挂载在命

1.2 PersistentVolumeClaim(PVC)是由用户进行存储的请求。容器消耗节点资源,PVC消耗PV资源。

2 PV/PVC作用

2.1 实现存储的持久化,在k8s中并非绑定宿主机的目录即为存储持久化。

3 生命周期

Provisioning ——-> Binding ——–>Using——>Releasing——>Recycling

3.1 Provisioning(预配置): 预配置分为静态或动态。

静态:集群管理员创建许多PV。它们带有实际存储的详细信息,可供群集用户使用。它们存在于Kubernetes API中,可供使用。

动态:当管理员创建的所有静态PV均与用户的PersistentVolumeClaim不匹配时,群集可能会尝试动态地专门为PVC配置卷。此设置基于StorageClasses:PVC必须请求 存储类,并且管理员必须已经创建并配置了该类,才能进行动态设置。要求该类的声明""实际上为其自身禁用了动态预配置。

3.2 Binding(绑定):

用户创建一个PersistentVolumeClaim,或者在动态预配置的情况下,已经创建了一个PersistentVolumeClaim,该请求具有特定数量的存储请求和某些访问模式。主服务器中的控制回路监视新的PVC,找到匹配的PV(如果可能),并将它们绑定在一起。如果为新PVC动态设置了PV,则循环将始终将该PV绑定到PVC。否则,用户将始终获得至少他们想要的东西,但是音量可能超出了要求。绑定后,无论绑定如何绑定,PersistentVolumeClaim绑定都是互斥的。PVC与PV的绑定是一对一的映射,使用ClaimRef是PersistentVolume和PersistentVolumeClaim之间的双向绑定。

如果不存在匹配的卷,则声明将无限期保持未绑定。随着匹配量的增加,声明将受到约束。例如,配备有许多50Gi PV的群集将与请求100Gi的PVC不匹配。将100Gi PV添加到群集时,可以绑定PVC。

3.3 Using(使用):

Pod使用声明作为卷。集群检查以找到绑定的卷并将该卷装入Pod。对于支持多种访问模式的卷,用户可以在将其声明用作Pod中的卷时指定所需的模式。一旦用户拥有一个声明并且该声明受到约束,则绑定的PV属于该用户的时间长短,只要他们需要它即可。用户通过persistentVolumeClaim在Pod的volumes区块中包含一部分来安排Pod并访问其声明的PV 。

3.4 PersistentVolume回收策略 ,默认的回收策略是Delete。

3.4.1 Retain(保留):

该Retain回收策略允许资源的手动回收。删除PersistentVolumeClaim后,PersistentVolume仍然存在,并且该卷被视为“已释放”。但是它尚不适用于其他索赔,因为前一个索赔人的数据保留在卷上。管理员可以按照以下步骤手动回收该卷。

  1. 删除PersistentVolume。删除PV之后,外部基础架构中的关联存储资产(例如AWS EBS,GCE PD,Azure Disk或Cinder卷)仍然存在。
  2. 相应地手动清理关联存储资产上的数据。
  3. 手动删除关联的存储资产,或者如果要重复使用相同的存储资产,请使用存储资产定义创建一个新的PersistentVolume。

3.4.2 Delete(删除):

对于支持Delete回收策略的卷插件,删除操作会同时从Kubernetes中删除PersistentVolume对象以及外部基础架构中的关联存储资产,例如AWS EBS,GCE PD,Azure Disk或Cinder卷。动态配置的卷将继承其StorageClass的回收策略,默认为Delete。管理员应根据用户的期望配置StorageClass。

3.4.3 Releasing(释放):

当用户完成其卷处理后,他们可以从允许回收资源的API中删除PVC对象。PersistentVolume的回收策略告诉群集在释放其声明后如何处理该卷。当前,可以保留,回收或删除卷。

4 PV/PVC创建yaml脚本

4.1 PV创建脚本

apiVersion: v1
kind: PersistentVolume #创建的类型
metadata:
  name:  nfs-pv-nfs  #名字
spec:
  capacity:        #存储能力
    storage: 5Gi   #空间大小
  accessModes:     #访问模式
  - ReadWriteMany  #读写权限,可以被多个节点挂载
  persistentVolumeReclaimPolicy: Retain #回收策略  Retain保留数据,需要管理员手工清理数据
  nfs:
    path: /nfs     #被共享的目录
    server: 192.168.1.0  #nfs主节点ip

4.2 PVC创建脚本

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nfs-pv-nfs
spec:
  accessModes:
  - ReadWriteMany #读写权限,可以被多个节点挂载
  resources:
    requests:
      storage: 5Gi

本文来自夏伤投稿,不代表胡巴网立场,如若转载,请注明出处:https://www.hu85.com/208204.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 xxxxx@qq.com 举报,一经查实,本站将立刻删除。