首页/云/Kubernetes 速查/local 卷与本地 PV
配置与存储54 条

local 卷与本地 PV

把节点本地磁盘以 local 卷暴露,配合 nodeAffinity 固定调度;吞吐与延迟占优,但不具备跨节点冗余,节点故障时数据不可用。

Kubernetes 速查云更新于 2026-10-13

本地卷适合什么场景

local 卷把节点上的本地磁盘目录直接暴露成持久卷,读写路径短,吞吐和延迟都优于网络存储。代价是数据绑定在这台机器上:节点故障时数据不可用,换节点也无法带着走。因此它必须配合节点亲和把工作负载固定在对应节点上,回收策略也建议设为保留。

基本信息

适用平台Kubernetes 1.20+,需自行准备磁盘
提供方式静态创建持久卷,或用本地卷供应器批量生成
访问模式通常为单节点读写
调度约束必须配合节点亲和,否则可能调度到没有该磁盘的节点
回收策略推荐保留,避免数据被自动清理

典型使用场景

  • 对延迟敏感的数据库或缓存,网络存储的往返开销无法接受
  • 大数据、日志类应用需要高顺序读写带宽,本地固态盘更合适
  • 边缘或单机环境没有集中式存储可用,只能用本机磁盘
  • 临时性能测试对比本地盘与网络存储的差异
  • 把本地盘作为缓存层,真正的持久数据另有备份

local 卷定义片段

local 卷定义片段
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pv-node1
spec:
  capacity:
    storage: 500Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain   # 保留数据,人工确认后再清理
  storageClassName: local-ssd
  local:
    path: /mnt/disks/ssd1                 # 节点上已格式化并挂载的目录
  nodeAffinity:
    required:
      nodeSelectorTerms:
        - matchExpressions:
            - key: kubernetes.io/hostname
              operator: In
              values:
                - node1

字段读法

字段作用注意点
local.path节点上的目录路径需预先创建、格式化并挂载,系统不会代劳
nodeAffinity把卷绑定到指定节点漏配会导致调度到无盘节点、挂载失败
reclaimPolicy卷释放后的处理保留最安全,删除模式下数据会随卷消失
storageClassName用于匹配声明要与声明中的类名一致才能绑定
本地卷通常配合静态供应器批量创建,它扫描节点上预置的挂载点并生成对应的持久卷对象,避免手写大量清单。节点上的磁盘准备仍然是运维的活。
本地卷没有跨节点冗余。节点故障时数据不可读,恢复依赖节点修复或备份,因此不适合没有备份机制的唯一数据副本。

易错点

  • 漏配节点亲和:调度器把 Pod 放到没有该磁盘的节点上,卷挂载直接失败
  • 目录未预先创建或格式化:卷对象能创建成功,挂载阶段才报错,排查容易被误导
  • 用本地卷承载唯一数据副本:节点故障时数据无法访问,且没有冗余可切换
  • 回收策略设为删除:卷声明释放后本地数据被清理,误操作难以挽回

数据来源与参考

  • Kubernetes 官方文档 · local 卷
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌