对图像应用更改后数据丢失
Data is lost after changes are applied to the image
我正在尝试将 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
这是一个状态集
请帮助我理解这个概念。我不希望我的数据在任何情况下都丢失。
提前致谢。
从 pv 输出可以清楚地看出 PersistentVolume 回收策略设置为删除。这意味着如果 pvc 被删除,PersistentVolume 会被自动删除。如果 pvc 被删除,您将丢失数据。
在你的情况下,使用“保留”政策是合适的。使用“保留”策略,如果用户删除 PersistentVolumeClaim,则不会删除相应的 PersistentVolume。
此外,如果您使用的是动态存储,则将存储 class 的 reclaimPolicy 字段设置为适当的值。如果在创建 StorageClass 对象时没有指定 reclaimPolicy,则默认为 Delete。
我正在尝试将 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
这是一个状态集
请帮助我理解这个概念。我不希望我的数据在任何情况下都丢失。
提前致谢。
从 pv 输出可以清楚地看出 PersistentVolume 回收策略设置为删除。这意味着如果 pvc 被删除,PersistentVolume 会被自动删除。如果 pvc 被删除,您将丢失数据。
在你的情况下,使用“保留”政策是合适的。使用“保留”策略,如果用户删除 PersistentVolumeClaim,则不会删除相应的 PersistentVolume。
此外,如果您使用的是动态存储,则将存储 class 的 reclaimPolicy 字段设置为适当的值。如果在创建 StorageClass 对象时没有指定 reclaimPolicy,则默认为 Delete。