【问题标题】:Access Kubernetes Persistent Volume data访问 Kubernetes 持久卷数据
【发布时间】:2021-07-13 20:55:32
【问题描述】:

有什么方法可以在不使用 pod 的情况下访问谷歌云 Kubernetes 持久卷数据。由于持久卷中的数据损坏,我无法启动 pod。有任何命令行工具或任何其他方式。

【问题讨论】:

    标签: kubernetes google-kubernetes-engine


    【解决方案1】:

    如果您对使用任何特定应用程序运行 pod 有任何疑问,在这种情况下,您可以运行 Ubuntu POD 并将该 pod 附加到 PVC 并访问数据.

    还有另一个选项可以克隆 PV 和 PVC,执行测试,以及新创建的 PV 和 PVC,而旧的将作为备份选项。

    对于克隆 PV 和 PVC,您还可以使用该工具:https://velero.io/

    您也可以在只读模式下将 PVC 附加到 POD 并尝试访问数据。

    【讨论】:

      【解决方案2】:

      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 进行存储

      【讨论】:

        猜你喜欢
        • 2016-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-09
        • 1970-01-01
        • 2021-03-16
        • 1970-01-01
        相关资源
        最近更新 更多