1

Ich habe ein persistentes Volume mit meinem Kubernetes Neo4j Replication Controller verbunden, um die DB-Daten zu speichern. Jetzt möchte ich diese Daten lokal herunterladen, um die Produktions-DB auf meinem System laufen zu lassen. Ich kann den Disketteninhalt nicht herunterladen. Kann mir jemand in die richtige Richtung zeigen?Wie kann ich den Inhalt der Google Compute Engine-Festplatte herunterladen?

Updates (Persistent Volume Creation mit 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" 
     } 
    } 
    } 
} 

Und dann die Nutzung:

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" 
      } 
      } 
     ] 
     } 
    } 
    } 
} 

Antwort

2

Admin-Panel des GCE nicht eine Taste für persistente Festplatten haben "Download", aber gcloud vereinfacht das Kopieren von Dateien von einer Instanz auf Ihren lokalen Computer:

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

Dadurch wird ~/REMOTE-DIR von einer entfernten Instanz in ~/LOCAL-DIR auf Ihrem Computer kopiert. Ersetzen Sie einfach die Verzeichnisnamen example-instance durch den Namen Ihrer Instanzen und passen Sie Ihre Zone bei Bedarf an. Mehr Infos hier in der docs.

+0

Vielen Dank für Ihre Antwort, aber es scheint, dass die Festplatte keine Instanz ist und Sie daher keine Verbindung herstellen können. Oder verstehe ich etwas falsch? Ich habe Instanzen, die mein Kubernetes-Setup ausführen, und Laufwerke, die einigen Pods zugeordnet sind. Ich möchte auf dieses persistente Volume zugreifen, ich kann sie in der Konsole sehen, aber ich kann mit gcloud compute ssh nicht darauf zugreifen, da es sich nicht um Instanzen handelt. – Brett

+1

Korrekt, die Festplatten sind keine Instanzen, aber Ihre Instanzen haben _montiert_ die persistente Festplatte, wenn ihre Pods sie verwenden. Es hängt davon ab, wie sie gemounted sind, aber Sie sollten ssh in Ihre Instanz (was Sie auch über 'gcloud' tun können) und in'/mnt' oder '/ dev/disk/by-id /' suchen. Sie werden wahrscheinlich die Festplatten dort finden. Sobald Sie die Stelle gefunden haben, an der das PD in Ihrer Instanz eingebunden ist, können Sie 'gcloud compute copy-files' verwenden. – Masondesu

+0

Danke, das war eine große hep mich;) – Brett