Volume 与 PV/PVC
约 491 字大约 2 分钟
布欧-Lewyon
2026-05-15
首页 › K8s › 配置与存储(在新窗口打开) › Volume 与 PV/PVC
Volume 类型
emptyDir
Pod 创建时创建,Pod 删除时清除。Pod 内多个容器共享:
spec:
containers:
- name: app
image: nginx:alpine
volumeMounts:
- name: cache
mountPath: /cache
- name: sidecar
image: busybox
volumeMounts:
- name: cache
mountPath: /cache
volumes:
- name: cache
emptyDir: {}hostPath
挂载宿主机路径(开发调试用,生产不推荐):
volumes:
- name: docker-socket
hostPath:
path: /var/run/docker.sock
type: Socket # File Directory Socket 等PV 与 PVC
PV(PersistentVolume)
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-nfs
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
nfs:
server: nfs-server.example.com
path: /dataPVC(PersistentVolumeClaim)
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data-claim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: ""# 查看 PV 和 PVC
kubectl get pv
kubectl get pvc
# 状态
# PV: Available → Bound → Released
# PVC: Pending → BoundPod 使用 PVC
spec:
containers:
- name: mysql
image: mysql:8.4
volumeMounts:
- name: data
mountPath: /var/lib/mysql
volumes:
- name: data
persistentVolumeClaim:
claimName: data-claimAccessModes
| 模式 | 缩写 | 说明 |
|---|---|---|
ReadWriteOnce | RWO | 单节点读写 |
ReadOnlyMany | ROX | 多节点只读 |
ReadWriteMany | RWX | 多节点读写 |
ReadWriteOncePod | RWOP | 单 Pod 读写(1.22+) |
StorageClass 动态供给
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: fast
provisioner: kubernetes.io/aws-ebs
parameters:
type: gp3
fsType: ext4# 查看 StorageClass
kubectl get sc
# 创建 PVC 时引用 StorageClass(动态创建 PV)
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: dynamic-pvc
spec:
accessModes:
- ReadWriteOnce
storageClassName: fast
resources:
requests:
storage: 10GiPV 回收策略
| 策略 | 说明 |
|---|---|
Retain | PVC 删除后 PV 保留,需手动清理 |
Delete | PVC 删除后 PV 自动删除(云存储) |
Recycle | 已弃用,建议用动态供给 |
小结
- Volume 类型:
emptyDir(临时)、hostPath(宿主机路径)、PV/PVC(持久化存储)。 - PV 是集群级存储资源,PVC 是用户申请存储的请求。
- AccessModes:RWO(单节点读写)、ROX(多节点只读)、RWX(多节点读写)。
- StorageClass 实现动态供给,PVC 自动创建 PV。
- 回收策略:
Retain(保留)、Delete(自动删除)。
上一节:ConfigMap 与 Secret 下一节:资源限制与 QoS
