You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

K3S集群升级后,有状态应用的Persistent Volume数据如何保留?

K3S集群升级时保留PV/PVC数据的方法

当然可以保留输入数据,K3S升级本身不会主动清除PV或PVC里的内容,只要做好以下几点,就能确保数据安全:

  • 确认PV的回收策略
    先检查你的PV回收策略,避免因意外情况触发数据删除:
    执行命令查看策略:kubectl get pv <你的PV名称> -o yaml | grep persistentVolumeReclaimPolicy
    确保策略是Retain(保留),如果是Delete(删除),建议编辑PV修改:kubectl edit pv <你的PV名称>,把persistentVolumeReclaimPolicy字段改成Retain。这个设置能保证即使PVC被误删,PV和数据也不会被自动清理。

  • 升级前备份数据(必做)
    不管什么场景,升级前备份数据都是最稳妥的操作:

    • 本地磁盘存储:用tar -czf backup.tar.gz /path/to/pv/mount打包数据,或者rsync同步到其他节点
    • NFS/共享存储:直接复制对应目录到备份位置
    • 云存储卷:使用云厂商提供的快照功能创建卷快照
  • 升级过程中的注意事项

    • K3S升级时worker节点会重启kubelet,Pod会被重新调度,但只要PVC处于Bound状态,新调度的Pod会自动重新挂载对应的PV,数据不会丢失
    • 升级期间不要手动删除PVC或PV,否则可能触发回收策略导致数据丢失
    • 如果用的是Local PV,要确保Pod能调度到原来的节点(节点正常运行的话),或者把对应磁盘重新挂载到新调度的节点,否则Pod会处于Pending状态,但数据本身依然保存在磁盘上,不会丢失
  • 升级后的验证
    升级完成后做简单验证:

    1. 检查PVC状态:kubectl get pvc,确认状态是Bound
    2. 检查Pod运行状态:kubectl get pods,确认应用Pod正常运行
    3. 进入Pod查看数据:kubectl exec <你的Pod名称> -- ls /挂载路径,确认输入数据完整

内容的提问来源于stack exchange,提问作者Lipika Sukhija

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 20:09:11