kubernetes - 如何在本地从谷歌云访问磁盘快照?

标签 kubernetes gcloud

我在谷歌云上使用 k8s,我正在尝试使用谷歌云的内置快照进行备份,但我也想使用它们来检索数据库以在本地使用。我得出的结论是,我需要先创建快照的图像,然后在下载之前将该图像导出到存储桶。像这样的东西:


    gcloud compute disks snapshot mydrive --snapshot-names=mydrive-snapshot
    gcloud compute images create mydrive-image --source-snapshot mydrive-snapshot
    gcloud compute images export --destination-uri gs://my-bucket/mydrive-image.tar.gz --image mydrive-image 
    gsutil cp gs://my-bucket/my-drive-image.tar.gz file://my-drive-image.tar.gz
    tar xvf my-drive-image.tar.gz

这给了我一个文件 disk.raw .不知道如何在本地安装它?

还有其他简单的解决方案吗?只要它在卷级别上并且不涉及在 pod 中实际运行任何东西,我就可以使用 native k8s 工作流程。

最佳答案

为什么不直接在您导出磁盘数据的本地挂载 GCS 存储桶?

您可以使用gcsfuse这样做。

  • 关注这些 instructions用于安装 Cloud Storage FUSE 及其依赖项
  • 为 Cloud Storage FUSE 设置凭据(按照上述说明进行操作)
  • 创建目录(或使用已有目录挂载bucket)
  • 使用 Cloud Storage FUSE 挂载存储桶(例如 my-bucket )。
    gcsfuse my-bucket /path/to/mount
    
  • 现在您可以看到存储桶内的内容:
    ls /path/to/mount
    
  • 关于kubernetes - 如何在本地从谷歌云访问磁盘快照?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60599965/

    相关文章:

    kubernetes - 将外部磁盘连接到 aws 集群 kubernetes

    python - 在 Flask 中使用 oauth2 库时无法访问 session

    json - 在 docker-compose.yml 中传递 Json 文件内容

    linux - 如何在 gcloud 上没有 deploy.sh 文件的情况下为 node.js 应用程序打开端口 80?

    google-cloud-platform - 使用 'gcloud run deploy' 时,如何使用命令行参数指定服务名称?

    java - 在 GAE 项目上调试时,Eclipse Oxygen 服务器启动速度非常慢。服务器进程挂起并处于停止挂起状态

    kubernetes - k8s 普罗米修斯 :pod has unbound PersistentVolumeClaims

    mysql - 如何检查部署的应用程序是否可以访问 mysql、rabbitmq 等 Kubernetes 服务

    linux - Linux 桌面上的 Kubernetes 开发人员设置

    java - 使用 Docker 和 Kubernetes 进行日志记录。分割的日志超过 16k