You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Elasticsearch Pod重启数据丢失,PV/PVC配置问题排查求助

问题分析与解决

核心问题

你的Elasticsearch数据未写入Persistent Volume(PV)的根本原因是容器内挂载路径错误:
Elasticsearch官方镜像默认的数据存储目录是/usr/share/elasticsearch/data,但你在Deployment的volumeMounts中将PV挂载到了/storage/data,导致ES始终把数据存在容器内部的临时路径中,Pod重启后容器被重建,数据自然丢失,同时minikube节点上的/storage/data因未被使用而为空。

修复步骤

1. 修改Elasticsearch Deployment的挂载路径

更新deployment.yaml中容器的volumeMounts配置,将挂载路径改为ES默认的数据目录:

# deployment.yaml 容器部分修改后的volumeMounts
volumeMounts:
  - name: elastic-storage
    mountPath: /usr/share/elasticsearch/data

2. 修正minikube节点上的目录权限

Elasticsearch容器以elasticsearch用户(UID为1000)运行,需确保minikube节点上的/storage/data目录有正确权限,否则ES启动时会无法写入数据:

# 进入minikube节点
minikube ssh
# 创建目录并设置权限
sudo mkdir -p /storage/data
sudo chown 1000:1000 /storage/data
sudo chmod 750 /storage/data

3. 重新部署资源

删除旧Pod并重新应用配置:

kubectl delete deployment elastic-deployment
kubectl apply -f deployment.yaml
kubectl apply -f PersistentVolume.yaml
kubectl apply -f PersistentVolumeClaim.yaml

验证

重新向ES写入数据后,手动重启Pod:

kubectl delete pod -l app=elastic-label

Pod重启后尝试读取数据,此时数据应能正常保留;同时查看minikube节点的/storage/data目录,会看到ES生成的数据文件。

内容的提问来源于stack exchange,提问作者user21236160

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 07:25:30