当前位置: 首页 > news >正文

K8s 1.27.1 实战系列(十)PV PVC

一、核心概念与关系

1、PV(Persistent Volume)​

PV 是集群中的持久化存储资源,由管理员预先创建并配置,独立于 Pod 生命周期。它抽象了底层存储(如 NFS、云存储等),定义存储容量、访问模式(如 ReadWriteOnce)、回收策略(Retain/Delete/Recycle)等属性。例如,一个 NFS 存储的 PV 可能包含服务器路径和存储容量信息。

示例:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: my-pv
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  storageClassName: nfs
  nfs:
    path: /data/nfs
    server: 192.168.1.100

2、PVC(Persistent Volume Claim)​

PVC 是用户对存储资源的声明,定义所需的容量、访问模式等需求。Kubernetes 根据 PVC 自动匹配符合条件的 PV 并绑定,实现存储与应用的解耦。例如,一个数据库应用通过 PVC 申请 5Gi 的存储空间。

示例: 

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi

3、PV 与 PVC 的关系

  • 静态绑定:管理员手动创建 PV,用户通过 PVC 申请时自动匹配。
  • 动态绑定:通过 StorageClass 动态生成 PV,无需预先配置。
  • 一对一绑定:一个 PVC 仅绑定一个 PV,PV 被占用后不可复用(除非释放)。

二、生命周期与关键机制

1、PV 生命周期

  • Provisioning:PV 可通过管理员静态创建或由 StorageClass 动态生成。
  • Binding:PVC 匹配 PV 时触发绑定,未匹配则 PVC 处于 Pending 状态。
  • Usage:Pod 挂载 PVC 使用存储资源,数据持久化至 PV。
  • Releasing:删除 PVC 后,PV 根据回收策略处理(如保留数据或删除存储)。
  • RecyclingRetain 策略下需手动清理数据,Delete 策略自动销毁底层存储。

2、访问模式(Access Modes)​

  • ReadWriteOnce (RWO):单节点读写(如块存储)。
  • ReadOnlyMany (ROX):多节点只读(如 NFS 共享配置文件)。
  • ReadWriteMany (RWX):多节点读写(如分布式文件系统)。

3、回收策略(persistentVolumeReclaimPolicy)

  • Retain:在 PVC 被删除后,保留 PV 和其数据,手动清理 PV 中的数据。
  • Delete:在 PVC 被删除后,自动删除 PV 和其数据。
  • Recycle:在 PVC 被删除后,通过删除 PV 中的数据来准备 PV 以供重新使用。

persistentVolumeReclaimPolicy只适用于一些类型的 PV,如 NFS、HostPath、
iSCSI 等。对于一些云平台提供的存储,如 AWS EBS 和 Azure Disk,由于底层提供商会自动处理PV的回收问题,因此该属性不适用。 

4、存储分类(storageClassName)

  • 指定 PV 的class 为 nfs。相当于为 PV 设置了一个分类,PVC可以指定 class 申请相应class 的 PV。

三、静态供应示例

1、创建PV池

nfs主节点:

mkdir -p /nfs/data/01
mkdir -p /nfs/data/02
mkdir -p /nfs/data/03

2、创建PV 

创建一个pv.yaml文件,内容如下:

apiVersion: v1
kind: Pers

相关文章:

  • 三角形页面
  • DeepSeek API 客户端使用文档
  • 重生之我在学Vue--第7天 Vue 3 数据请求(Axios)
  • Unity辅助工具_头部与svn
  • DeepIn Wps 字体缺失问题
  • 安全焊接,智慧监管
  • EG82088串口边缘计算网关
  • 网络空间安全(24)APT攻击
  • 北京迅为RK3568开发板OpenHarmony系统南向驱动开发内核HDF驱动框架架构
  • 《无线网络架构与人工智能实时性:深度融合与未来展望》
  • 电商数据分析 电商平台销售数据分析 电商平台数据库设计 揭秘电商怎么做数据分析
  • 插入排序算法优化
  • Yolo-Uniow开集目标检测本地复现
  • Kotlin学习笔记之类与对象
  • 【ISP】ISP的pipeline的几种关键算法
  • mysql忘记root密码
  • 企业安全—对数据和资产进行识别和分类
  • 数据结构与算法效率分析:时间复杂度与空间复杂度详解(C语言)
  • 【赵渝强老师】PostgreSQL的模板数据库
  • 【C#学习笔记03】进制转换与反码、补码、原码
  • 加强战略矿产出口全链条管控将重点开展哪些工作?商务部答问
  • 白玉兰奖征片综述丨动画的IP生命力
  • 王毅谈中拉命运共同体建设“五大工程”及落实举措
  • 美国和沙特签署上千亿美元军售协议
  • 上海现有超12.3万名注册护士,本科及以上学历占一半
  • 长三角议事厅·周报|从模速空间看上海街区化AI孵化模式