有没有办法在不使用pod的情况下访问Google cloud Kubernetes持久化卷数据。由于持久卷中的数据损坏,我无法启动pod。有任何命令行工具或任何其他方式。
发布于 2021-07-13 13:18:06
如果您对使用任何特定应用程序运行pod有任何顾虑,在这种情况下,您可以运行Ubuntu并将该POD连接到并访问数据。
还有另一个选项,克隆PV和PVC,执行测试,以及新创建的PV和PVC,而旧的将用作备份选项。
要克隆PV和PVC,您还可以使用工具:https://velero.io/
您还可以在只读模式下将PVC连接到POD,并尝试访问数据。
发布于 2021-07-13 20:55:32
PersistentVolume资源是独立于Pod而存在的集群资源。这意味着,当集群发生变化时,由PersistentVolume表示的磁盘和数据将继续存在,并作为Pod被删除和重新创建。
可以使用Status: Terminating和RetainPolicy设置为default(delete)保存PersistentVolume中的数据。您的PersistentVolumes将不会被终止,直到有一个pod、部署,或者更具体地说是一个使用它的PersistentVolumeClaim。
我们采取的修复损坏状态的步骤如下:
您要做的第一件事是创建PersistentVolumes的快照。在GKE控制台中,转到Compute Engine -> Disks,在那里找到您的卷,并创建卷的快照。使用
kubectl get pv | grep pvc-name
使用快照创建磁盘:
gcloud compute disks create name-of-disk --size=10 --source-snapshot=name-of-snapshot --type=pd-standard --zone=your-zone
此时,停止使用该卷的服务,并删除卷和卷声明。使用磁盘中的数据手动重新创建卷,并更新您的卷声明以指向特定的卷文件。
有关详细信息,请参阅以下链接。
来自谷歌Kubernetes引擎集群的Accessing文件共享。
使用PersistentVolume进行存储的Pod的Configure
https://stackoverflow.com/questions/68355968
复制相似问题