如何下载 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
我已将持久卷链接到我的 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