【发布时间】:2021-07-13 20:55:32
【问题描述】:
有什么方法可以在不使用 pod 的情况下访问谷歌云 Kubernetes 持久卷数据。由于持久卷中的数据损坏,我无法启动 pod。有任何命令行工具或任何其他方式。
【问题讨论】:
标签: kubernetes google-kubernetes-engine
有什么方法可以在不使用 pod 的情况下访问谷歌云 Kubernetes 持久卷数据。由于持久卷中的数据损坏,我无法启动 pod。有任何命令行工具或任何其他方式。
【问题讨论】:
标签: kubernetes google-kubernetes-engine
如果您对使用任何特定应用程序运行 pod 有任何疑问,在这种情况下,您可以运行 Ubuntu POD 并将该 pod 附加到 PVC 并访问数据.
还有另一个选项可以克隆 PV 和 PVC,执行测试,以及新创建的 PV 和 PVC,而旧的将作为备份选项。
对于克隆 PV 和 PVC,您还可以使用该工具:https://velero.io/
您也可以在只读模式下将 PVC 附加到 POD 并尝试访问数据。
【讨论】:
PersistentVolume 资源是独立于 Pod 存在的集群资源。这意味着 PersistentVolume 所代表的磁盘和数据会随着集群的变化以及 Pod 的删除和重新创建而继续存在。
可以从 PersistentVolume 中保存数据,其中 Status: Terminating 和 RetainPolicy 设置为默认(删除)。在有 pod、部署或更具体的 PersistentVolumeClaim 使用它之前,您的 PersistentVolume 不会被终止。
我们为修复损坏状态所采取的步骤如下:
您要做的第一件事是创建 PersistentVolume 的快照。 在 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
此时,停止使用卷的服务并删除卷和卷声明。 使用磁盘中的数据手动重新创建卷,并更新您的卷声明以针对特定卷文件。
有关更多信息,请参阅下面的链接。
Accessing 来自 Google Kubernetes Engine 集群的文件共享。
Configure Pod 使用 PersistentVolume 进行存储
【讨论】: