1

Ich habe meine Elasticsearch Cluster gelöscht, aber jetzt, nachdem ich einen neuen Cluster bereitgestellt habe ich brauche die alten Daten zuzugreifen, die auf 3 Persistent Volumes PV beschrieben unten gespeichert wurde:Wie ein vorhandenes persistent Volumen wiederzuverwenden behauptet

NAME      STATUS VOLUME          CAPACITY ACCESS MODES STORAGECLASS AGE 
storage-es-data-0   Bound  pvc-19429b0b-ba42-11e7-979d-42010a840ff7 12Gi  RWO   standard  10d 
storage-es-data-1   Bound  pvc-36505962-ba42-11e7-979d-42010a840ff7 12Gi  RWO   standard  10d 
storage-es-data-2   Bound  pvc-422da328-ba42-11e7-979d-42010a840ff7 12Gi  RWO   standard  10d 
Diese

ist die Beschreibung der alten PV Ansprüche:

NAME          CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM        STORAGECLASS REASON AGE 
pvc-19429b0b-ba42-11e7-979d-42010a840ff7 12Gi  RWO   Delete   Bound  default/storage-es-data-0   standard     10d 
pvc-36505962-ba42-11e7-979d-42010a840ff7 12Gi  RWO   Delete   Bound  default/storage-es-data-1   standard     10d 
pvc-422da328-ba42-11e7-979d-42010a840ff7 12Gi  RWO   Delete   Bound  default/storage-es-data-2   standard     10d 

Mein neuer Einsatz wird wie folgt beschrieben:

apiVersion: apps/v1beta1 
kind: Deployment 
metadata: 
    name: es-data 
    labels: 
    component: elasticsearch 
    role: data 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     component: elasticsearch 
     role: data 
    spec: 
     initContainers: 
     - name: init-sysctl 
     image: busybox 
     imagePullPolicy: IfNotPresent 
     command: ["sysctl", "-w", "vm.max_map_count=262144"] 
     securityContext: 
      privileged: true 
     containers: 
     - name: es-data 
     image: docker.elastic.co/elasticsearch/elasticsearch:5.6.3 
     imagePullPolicy: Always 
     ports: 
     - containerPort: 9300 
      name: transport 
      protocol: TCP 
     volumeMounts: 
     - name: storage 
      mountPath: /data 
     volumes: 
     - name: storage 
     persistentVolumeClaim: 
      claimName: storage-es-data-0 

Nachdem ich meinen Pod mit einem Loadblance-Dienst verbunden hatte, konnte ich keine Dokumente finden. Fehle ich etwas? Und wie kann ich die drei PV in der gleichen POD verwenden.

Antwort

1

Ihre deployment yaml Datei korrekt ist. Sie sollten in der Lage sein, Dateien von pvc-19429b0b-ba42-11e7-979d-42010a840ff7 Volume innerhalb /data Ordner in Ihrem Pod zu finden.

Um drei PV im gleichen POD zu verwenden, um sie zu Ihrem deployment yaml nur hinzufügen:

apiVersion: apps/v1beta1 
kind: Deployment 
metadata: 
    name: es-data 
    labels: 
    component: elasticsearch 
    role: data 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     component: elasticsearch 
     role: data 
    spec: 
     initContainers: 
     - name: init-sysctl 
     image: busybox 
     imagePullPolicy: IfNotPresent 
     command: ["sysctl", "-w", "vm.max_map_count=262144"] 
     securityContext: 
      privileged: true 
     containers: 
     - name: es-data 
     image: docker.elastic.co/elasticsearch/elasticsearch:5.6.3 
     imagePullPolicy: Always 
     ports: 
     - containerPort: 9300 
      name: transport 
      protocol: TCP 
     volumeMounts: 
     - name: storage-0 
      mountPath: /data0 
     - name: storage-1 
      mountPath: /data1 
     - name: storage-2 
      mountPath: /data2 
     volumes: 
     - name: storage-0 
     persistentVolumeClaim: 
      claimName: storage-es-data-0 
     - name: storage-1 
     persistentVolumeClaim: 
      claimName: storage-es-data-1 
     - name: storage-2 
     persistentVolumeClaim: 
      claimName: storage-es-data-2 
+0

Dank @Nikolay vergesse ich meine/Daten forlder zu überprüfen, das ist genau das, was ich fehlte. –

Verwandte Themen