K8s 集群 LocalPV 静态 PV 资源手动创建实操

K8s 集群 LocalPV 静态 PV 资源手动创建实操

操作环境

  • K8s v1.28.15,Worker 节点 k8s-node01 已有目录 /mnt/localpv/vol01(200G ext4)
  • StorageClass local-storage 已存在

对接原理

静态 PV 由管理员预先创建,绑定节点本地路径。PVC 通过 storageClassName 和容量匹配 PV,无需动态供给器。

详细步骤

1. 确认节点路径

ssh k8s-node01 "ls -la /mnt/localpv/vol01 && df -h /mnt/localpv/vol01"

2. 创建静态 PV

static-pv-021.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
name: static-local-pv-021
labels:
type: local
env: prod
spec:
capacity:
storage: 200Gi
accessModes:

  • ReadWriteOnce
    persistentVolumeReclaimPolicy: Retain
    storageClassName: local-storage
    local:
    path: /mnt/localpv/vol01
    nodeAffinity:
    required:
    nodeSelectorTerms:
  • matchExpressions:
  • key: kubernetes.io/hostname
    operator: In
    values:
  • k8s-node01

kubectl apply -f static-pv-021.yaml

3. 创建匹配的 PVC

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: static-local-pvc-021
namespace: default
spec:
accessModes: "ReadWriteOnce"
resources:
requests:
storage: 200Gi
storageClassName: local-storage
volumeName: static-local-pv-021

验证流程

kubectl get pv static-local-pv-021

STATUS: Available → Bound

kubectl get pvc static-local-pvc-021

STATUS: Bound

排错方案

  • PV 一直 Available:PVC 的 storageClassName、容量、accessModes 需完全匹配
  • PVC Pending:检查 volumeName 是否正确,PV 是否被其他 PVC 绑定
相关推荐
SkyWalking中文站4 小时前
SkyWalking 11 与 BanyanDB 0.11:在存储引擎内部实现 Trace 尾部采样
运维·监控·自动化运维
姚不倒4 小时前
etcd 学习系列(二):集群架构 —— 3 节点是如何工作的
运维·架构·etcd
pt10435 小时前
网络自动化Python课程:Cisco PyATS网络自动化测试框架
运维·自动化
Johny_Zhao6 小时前
网络安全等级保护测评实施方案
linux·网络·人工智能·网络安全·信息安全·云计算·等保测评·系统运维·itsm
小袁拒绝摆烂6 小时前
Jenkins部署经验
运维·jenkins
落羽的落羽7 小时前
【AI】快速理解AI应用的相关名词概念
linux·c++·人工智能·python·计算机网络·算法
刚入门的大一新生7 小时前
Linux-进程控制
linux·运维·服务器·c++
上火的金鱼妹7 小时前
K8S基础组件作用和关系整理
linux·运维·服务器·kubernetes
Vcaker7 小时前
Linux学习25-harbor私有仓库部署
linux·运维·学习
刃神太酷啦7 小时前
Redis 进阶核心:持久化 (RDB/AOF)、事务与主从复制全解析----《Hello Redis!》(5)
linux·c语言·数据库·c++·redis·缓存·bootstrap