elasticsearch 将具有Elasticsearch索引的本地目录装载到Minikube,elasticsearch,kubernetes,minikube,elasticsearch,Kubernetes,Minikube" /> elasticsearch 将具有Elasticsearch索引的本地目录装载到Minikube,elasticsearch,kubernetes,minikube,elasticsearch,Kubernetes,Minikube" />

elasticsearch 将具有Elasticsearch索引的本地目录装载到Minikube

elasticsearch 将具有Elasticsearch索引的本地目录装载到Minikube,elasticsearch,kubernetes,minikube,elasticsearch,Kubernetes,Minikube,我正在尝试使用Elasticsearch将我的Springboot应用程序移动到minikube上运行。 但是我想重用在Kubernetes上运行的弹性搜索中使用本地弹性搜索创建的现有索引 我可以看到一些关于持久卷的文档,但找不到任何关于重用本地目录上现有索引的信息 有人能建议一些关于如何挂载现有本地目录的信息吗?该目录包含Kubernetes上的Elasticsearch索引 我正在尝试使用minikube在本地运行Kubernetes群集。这是我第一次尝试Kubernetes。因此,我对它的

我正在尝试使用Elasticsearch将我的Springboot应用程序移动到minikube上运行。 但是我想重用在Kubernetes上运行的弹性搜索中使用本地弹性搜索创建的现有索引

我可以看到一些关于持久卷的文档,但找不到任何关于重用本地目录上现有索引的信息

有人能建议一些关于如何挂载现有本地目录的信息吗?该目录包含Kubernetes上的Elasticsearch索引

我正在尝试使用minikube在本地运行Kubernetes群集。这是我第一次尝试Kubernetes。因此,我对它的各个方面都不熟悉。我正在尝试部署一个连接到Elasticsearch服务器的spring boot应用程序

Elasticsearch服务器-部署.yaml

apiVersion:apps/v1 种类:部署 元数据: 名称:elasticsearch 规格: 选择器: 火柴标签: 运行:elasticsearch 副本:1份 模板: 元数据: 标签: 运行:elasticsearch 规格: 容器: -图片:docker.elastic.co/elasticsearch/elasticsearch:6.6.1 名称:elasticsearch imagePullPolicy:如果不存在 环境: -名称:discovery.type 值:单个节点 -名称:cluster.name 值:elasticsearch 端口: -集装箱港口:9300 名称:节点 -集装箱港口:9200 姓名:客户
尝试为Elasticsearch创建一个
状态集
,它将作为永久性卷声明(PVC)使用

PVC的参考链接:

在有状态集合配置中,您需要像这样提及
volumeMounts

volumeMounts:
    - name: elasticsearch
      mountPath: /path/to/local_directory/local_indexes
这有助于发现旧索引(在本地创建)和新索引


为了访问这些索引,我建议创建
服务
,这是一种负载平衡器,同样适用于Elasticsearch。它将生成一个外部IP以访问Kubernetes集群内的Elasticsearch配置和索引。您可以通过对生成的外部IP应用curl进行访问。

尝试为Elasticsearch创建一个
StatefulSet
,它将作为永久卷声明(PVC)使用

PVC的参考链接:

在有状态集合配置中,您需要像这样提及
volumeMounts

volumeMounts:
    - name: elasticsearch
      mountPath: /path/to/local_directory/local_indexes
这有助于发现旧索引(在本地创建)和新索引


为了访问这些索引,我建议创建
服务
,这是一种负载平衡器,同样适用于Elasticsearch。它将生成一个外部IP以访问Kubernetes集群内的Elasticsearch配置和索引。您可以通过对生成的外部IP应用curl进行访问。

我已经在这里发布了答案 为了完整起见,我也将答案粘贴在这里。安装后,我没有重用现有索引,而是使用kubernet部署的弹性搜索盒创建了一个新索引。我想,现有的索引可能也可以工作,但我改变了我的代码,因为我尝试了不同的策略使其工作

这个解决方案对我有效。 要将本地目录装载到minikube(版本-v1.9.2)中的pod中,您必须将该本地目录装载到minikube中,然后在hostpath中使用minikube装载路径 ()

minikube装载~/esData:/indexdata

我已经把答案贴在这里了 为了完整起见,我也将答案粘贴在这里。安装后,我没有重用现有索引,而是使用kubernet部署的弹性搜索盒创建了一个新索引。我想,现有的索引可能也可以工作,但我改变了我的代码,因为我尝试了不同的策略使其工作

这个解决方案对我有效。 要将本地目录装载到minikube(版本-v1.9.2)中的pod中,您必须将该本地目录装载到minikube中,然后在hostpath中使用minikube装载路径 ()

minikube装载~/esData:/indexdata

如果我的答案对你有帮助,请把它投上一票。@harshat我还没有检查它。我会尽快接受你的答案。如果我的答案对你有帮助,请更新我的答案。@Harshit我还没有检查它。我一测试就接受你的答案。我没有完全按照你的解决方案。我尝试将mountpath与Hotpath相结合,但最终没有完全成功。我在中发布了一个后续问题。如果你能看一看的话,那将是很有帮助的。我最终使用了StatefulSet,但实际的问题是我必须在minikube中显式装载,即使部署可能会有工作。但当我在你的建议之后读到关于Statefolset的文章时,我觉得它更合适。谢谢,我对你的答案投了赞成票,因为它对我很有帮助,但我不接受,因为这个问题的解决方案是不同的。谢谢你的帮助,我没有完全按照你的解决方案。我尝试将mountpath与Hotpath相结合,但最终没有完全成功。我在中发布了一个后续问题。如果你能看一看的话,那将是很有帮助的。我最终使用了StatefulSet,但实际的问题是我必须在minikube中显式装载,即使部署可能会有工作。但当我在你的建议之后读到关于Statefolset的文章时,我觉得它更合适。谢谢,我对你的答案投了赞成票,因为它对我很有帮助,但我不接受,因为这个问题的解决方案是不同的。谢谢你的帮助