Данные теряются после применения изменений к изображению - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь добавить Elasticsearch в кластер EKS. Но всякий раз, когда я применяю изменения, мои данные теряются. Похоже, что том, который я прикрепил, был изменен и исправлен.

metadata:
  name: elasticsearch-uat
  labels:
    component: elasticsearch-uat
spec:
  replicas: 1
  serviceName: elasticsearch-uat
  template: 
    metadata:
      ...
    spec:
      initContainers: 
      - name: init-sysctl
        ...
      containers:
      - name: es 
        securityContext:
          capabilities:
            add:
              - IPC_LOCK
        image: 559076975273.dkr.ecr.us-west-2.amazonaws.com/elasticsearch-s3:v2
        env:
        ...
        ports:
        - containerPort: 9200
          name: http
          protocol: TCP
        - containerPort: 9300
          name: transport
          protocol: TCP
        volumeMounts: 
        - mountPath: /data
          name: es-storage-uat
  updateStrategy:
    type: RollingUpdate
  volumeClaimTemplates:
  - metadata:
      namespace: k8
      name: es-storage-uat
    spec:
      storageClassName: gp2
      accessModes: [ ReadWriteOnce ]
      resources:
        requests:
          storage: 2Gi

Это набор состояний

Пожалуйста, помогите мне понять эту концепцию. Я не хочу, чтобы мои данные терялись в любых условиях.

Заранее спасибо.

enter image description here

1 Ответ

5 голосов
/ 06 ноября 2019

Из вывода pv ясно, что политика восстановления PersistentVolume установлена ​​на Delete. Это означает, что если ПВХ удален, PersistentVolume автоматически удаляется. Вы теряете данные, если ПВХ удален.

В вашем случае целесообразно использовать политику «Сохранить». С помощью политики «Сохранить», если пользователь удаляет PersistentVolumeClaim, соответствующее PersistentVolume не удаляется.

В дополнение к вышесказанному, если вы используете динамическое хранилище, установите для поля reclaimPolicy класса хранилища соответствующее значение. ,Если reclaimPolicy не указано при создании объекта StorageClass, по умолчанию он будет удален.

...