将更改应用于图像后,数据将丢失

我正在尝试将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

这是一个有状态集

请帮助我理解这个概念。我不希望我的数据在任何情况下都丢失。

谢谢。

将更改应用于图像后,数据将丢失

sean19851214 回答:将更改应用于图像后,数据将丢失

从pv输出中可以明显看出,PersistentVolume回收策略已设置为Delete。这意味着,如果删除了pvc,则PersistentVolume将自动删除。如果删除了pvc,则会丢失数据。

对于您而言,使用“保留”策略是适当的。使用“保留”策略,如果用户删除PersistentVolumeClaim,则不会删除相应的PersistentVolume。

此外,如果您正在使用动态存储,则将存储类的reclaimPolicy字段设置为适当的值。如果在创建StorageClass对象时未指定reclaimPolicy,它将默认为Delete。

本文链接:https://www.f2er.com/3154070.html

大家都在问