1. Kubernetes 存储概述

1.1 Kubernetes 存储发展历程

Kubernetes 存储能力从最初的“有状态工作负载基本不可用”逐步演进为“云原生存储一等公民”,其发展可划分为四个关键阶段:

阶段 Kubernetes 版本 核心能力 标志性特性
萌芽期 v1.0 – v1.2 仅支持 emptyDir、hostPath 等临时存储 Volume 原语诞生
扩展期 v1.3 – v1.5 引入 PersistentVolume / PersistentVolumeClaim 资源模型 PV/PVC 解耦存储与计算
生态期 v1.6 – v1.12 StorageClass 动态供给、CSI 容器存储接口规范 存储插件标准化
成熟期 v1.13+ CSI GA、卷快照、卷克隆、卷扩展、跨 AZ 拓扑感知 存储成为一等资源
关键里程碑:Kubernetes v1.13 正式将 CSI(Container Storage Interface)标记为 GA(General Availability),标志着存储插件生态从 in-tree 走向 out-of-tree,云原生存储进入高速发展通道。

1.2 存储资源模型核心概念

Kubernetes 存储资源模型围绕“声明式存储”设计,核心抽象包括以下四个层次:

  • Volume(卷):Pod 级别的存储抽象,生命周期与 Pod 绑定,支持 emptyDir、hostPath、ConfigMap、Secret 等内置类型。
  • PersistentVolume(PV):集群级别的存储资源,由管理员预先制备或通过 StorageClass 动态供给,独立于 Pod 存在。
  • PersistentVolumeClaim(PVC):用户对存储资源的请求描述,包含容量、访问模式、存储类等需求,Kubernetes 负责将 PVC 绑定到匹配的 PV。
  • StorageClass(SC):存储类模板,定义动态供给的存储后端类型、回收策略、挂载参数等,实现“按需分配”的存储消费模式。
Kubernetes 存储资源模型核心抽象 用户 / 应用开发者 声明存储需求 PersistentVolumeClaim 容量 / 访问模式 / 存储类 PersistentVolume 实际存储后端资源 StorageClass 动态供给模板 Pod 挂载 PVC 到容器路径 存储后端 NFS / Ceph / AWS EBS / 本地盘 💡 用户只与 PVC 交互,Kubernetes 控制面自动完成 PVC→PV 绑定、PV→后端存储映射。 StorageClass 实现“按需分配”,无需管理员预先准备存储。
设计哲学:PV/PVC 机制将“存储的提供”与“存储的使用”彻底分离。集群管理员关注 PV 和 StorageClass 的配置,应用开发者只需声明 PVC,无需关心底层存储实现细节。

1.3 云原生存储与传统存储对比

传统存储架构(如 SAN/NAS 集中式存储)与云原生存储(如 CSI 驱动、分布式存储)在设计理念、运维模式、弹性能力上存在本质差异:

对比维度 传统存储 云原生存储
供给方式 手动 LUN 创建、手动挂载 PVC → StorageClass 自动动态供给
生命周期 与物理服务器绑定,迁移困难 独立于 Pod,支持跨节点漂移
扩展性 垂直扩展为主,受限于控制器 水平扩展,分布式架构无单点瓶颈
接口标准 厂商私有 API / 协议 CSI 统一接口,多云一致体验
运维模式 人工运维、变更窗口长 声明式 API + Operator 自动化运维
故障恢复 依赖 RAID / 双活控制器 副本 + 自愈 + 跨 AZ 拓扑感知
可观测性 独立监控系统,与编排脱节 Metrics API + Prometheus 集成
传统存储 vs 云原生存储架构对比 传统存储架构 应用服务器 应用服务器 FC / iSCSI NFS / CIFS 集中式存储阵列 SAN / NAS 控制器 云原生存储架构 Pod Pod Pod CSI 驱动 + StorageClass 分布式存储集群 Ceph / Longhorn / MinIO 🔑 云原生存储通过 CSI 统一接口解耦编排层与存储实现,支持动态供给、跨节点迁移、水平扩展,彻底改变传统存储的“烟囱式”运维模式。
迁移避坑:将传统存储迁移到云原生环境时,切忌“直接挂载原有 LUN 到 Pod”。必须通过 CSI 驱动重新适配,并设计合理的 StorageClass 回收策略(Retain / Delete / Recycle),否则可能导致数据残留或意外删除。

1.4 本章小结

  • Kubernetes 存储从 v1.0 的临时卷发展到 v1.13+ 的 CSI GA 成熟生态,经历了四个关键阶段。
  • 存储资源模型以 PV、PVC、StorageClass 三大核心原语实现“声明式存储消费”,用户与存储实现解耦。
  • 云原生存储相比传统存储,在动态供给、水平扩展、接口标准化、自动化运维方面具有显著优势。
  • 理解存储资源模型是后续学习卷快照、卷克隆、拓扑感知调度、数据传输优化等高级主题的基础。