适用场景
有状态服务上 K8s 的坑主要在存储:StorageClass 选错、卷无法在线扩容、快照没做导致数据无法回滚。
配置步骤(快照、备份与恢复演练)
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshot
metadata: { name: data-snap-01, namespace: app }
spec:
volumeSnapshotClassName: csi-snapclass
source: { persistentVolumeClaimName: data }
关键参数与建议
- StorageClass 按性能分级:SSD/HDD、是否支持快照与扩容
- 访问模式:RWO(单节点读写)为主,RWX 需共享存储支持
- 在线扩容:确认驱动支持,扩容后文件系统也要扩容
- 快照与备份:VolumeSnapshot 配合备份工具,定期演练恢复
- 容量治理:PVC 使用率监控,避免节点磁盘写满
容易踩的坑
- CSI 驱动未部署快照组件,快照创建失败
- 只做快照不做异地备份,集群级故障全丢
- 从不验证从快照恢复,恢复时发现不可用
验证与巡检
kubectl get volumesnapshot -A
- 巡检:快照计划执行、恢复演练记录
小结
存储类资源的验收:能创建、能扩容、能快照、能恢复,四条都验证过才敢放有状态服务。
> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。