如何下载 Google Compute Engine 磁盘内容?

How to download Google Compute Engine disk content?

我已将持久卷链接到我的 Kubernetes Neo4j 复制控制器以存储数据库数据。现在我想将该数据本地下载到 运行 我系统上的生产数据库。我找不到下载磁盘内容的方法。有人能指出我正确的方向吗?

更新(使用 Kubernetes 创建持久卷):

persistent-volume-db.json
{
  "kind": "PersistentVolume",
  "apiVersion": "v1",
  "metadata": {
    "name": "pv-db"
  },
  "spec": {
    "capacity": {
      "storage": "500Gi"
    },
    "accessModes": [
      "ReadWriteMany"
    ],
    "gcePersistentDisk": {
      "pdName": "tuwa-db-data-disk",
      "fsType": "ext4"
    }
  }
}

persistent-volume-claim-db.json
{
  "kind": "PersistentVolumeClaim",
  "apiVersion": "v1",
  "metadata": {
    "name": "pvc"
  },
  "spec": {
    "accessModes": [
      "ReadWriteMany"
    ],
    "resources": {
      "requests": {
        "storage": "500Gi"
      }
    }
  }
}

然后是用法:

neo4j-controller.json
{
  "kind": "ReplicationController",
  "apiVersion": "v1",
  "metadata": {
    "name": "neo4j-controller",
    "labels": {
      "name": "neo4j"
    }
  },
  "spec": {
    "replicas": 1,
    "template": {
      "metadata": {
        "labels": {
          "name": "neo4j"
        }
      },
      "spec": {
        "containers": [
          {
            "name": "neo4j",
            "image": "neo4j/neo4j",
            "ports": [
              {
                "name": "neo4j-server",
                "containerPort": 7474
              }
            ],
            "volumeMounts": [
              {
                "mountPath": "/data/databases",
                "name": "pv-db"
              }
            ]
          }
        ],
        "volumes": [
          {
            "name": "pv-db",
            "persistentVolumeClaim": {
              "claimName": "pvc-db"
            }
          }
        ]
      }
    }
  }
}

GCE 的管理面板没有永久磁盘的 "download" 按钮,但 gcloud 可以轻松地将文件从实例复制到本地计算机:

gcloud compute copy-files example-instance:~/REMOTE-DIR ~/LOCAL-DIR --zone us-central1-a

这会将 ~/REMOTE-DIR 从远程实例复制到您机器上的 ~/LOCAL-DIR。只需将目录名称 example-instance 替换为您的实例名称,并在必要时调整您的区域。 docs.

中的更多信息
gcloud compute copy-files  #has been deprecated

请改用gcloud compute scp。请注意,gcloud compute scp 默认情况下没有启用递归复制。要打开递归,请使用 --recurse 标志。

gcloud compute scp --recurse example-instance:~/instance-1_path  ~/locad_path --zone=us-central1-a

这会将 ~/instance-1_path 从远程计算实例复制到您个人计算机上的 ~/local_path 中。只需将目录名称、example-instance 替换为您的实例名称,并在必要时调整您的区域。

可以找到此 SDK 的完整文档here