elasticsearch 使用Kubernetes的Elasticsearch集群中的持久体积映射,elasticsearch,kubernetes,volumes,kubernetes-pod,elasticsearch,Kubernetes,Volumes,Kubernetes Pod" /> elasticsearch 使用Kubernetes的Elasticsearch集群中的持久体积映射,elasticsearch,kubernetes,volumes,kubernetes-pod,elasticsearch,Kubernetes,Volumes,Kubernetes Pod" />

elasticsearch 使用Kubernetes的Elasticsearch集群中的持久体积映射

elasticsearch 使用Kubernetes的Elasticsearch集群中的持久体积映射,elasticsearch,kubernetes,volumes,kubernetes-pod,elasticsearch,Kubernetes,Volumes,Kubernetes Pod,我们计划使用Kubernetes建立一个ES集群。k8s pod将由3个数据节点组成,我们打算对数据进行持久卷映射 我对ES和k8s都是新手,但据我所知,在pod中,通常共享一个卷。但在这种情况下,我们不应该共享这3个实例的数据。实现pod体积映射的最佳方法是什么。 如果我有3个实例,我应该像/node1/data、/node2/data那样分别映射每个实例,还是应该只映射到单个卷“/data”,ES将确保实例之间的数据是隔离的 我不确定映射的卷是否应该像上面解释的那样具有节点名称,如node1

我们计划使用Kubernetes建立一个ES集群。k8s pod将由3个数据节点组成,我们打算对数据进行持久卷映射

我对ES和k8s都是新手,但据我所知,在pod中,通常共享一个卷。但在这种情况下,我们不应该共享这3个实例的数据。实现pod体积映射的最佳方法是什么。 如果我有3个实例,我应该像/node1/data、/node2/data那样分别映射每个实例,还是应该只映射到单个卷“/data”,ES将确保实例之间的数据是隔离的

我不确定映射的卷是否应该像上面解释的那样具有节点名称,如node1、node2等。具有3个ES节点(或多个数据节点)的pod设计是否正确?能否为pod中的不同节点实例指定不同的持久卷


如果pod终止并创建新的pod,会发生什么情况?映射卷和节点名之间是否存在强绑定。实现这一目标的最佳实践是什么

首先,它在某种程度上取决于集群的配置/运行方式。如果您在一家像样的云提供商上运行,kube将能够为您的PVC()自动创建PV

我是否正确理解了您计划在一个pod中有3个节点?这听起来不对。你应该有3个独立的豆荚组成你的集群。由于这是一个有状态的服务,您可能需要研究

在集群吊舱中正确定义PVC后,kube将确保它们正确绑定到您的吊舱(即,在AWS AZ上,始终将节点安排在正确的区域中,以便它可以链接该吊舱基于EBS的PV)

我建议您开始在pod定义中使用
emptyDir
卷构建集群,当您掌握了其中的关键点时,您可以继续确保在删除pod并更新部署或状态集时正确保存数据


旁注:虽然在pod内部,单个卷可以装入该pod的多个容器中,但没有多少后端支持ReadWriteMany访问模式,允许将同一卷装入不同的pod(即NFS)

我认为一个pod应该包含集群的所有实例。从你的回答来看,我错了。一个集群可以由多个Pod组成。因此,Pod可以只是集群中的一个节点。在ES中,我们有其他节点类型,如“仅主节点”和“仅客户端节点”,它们也可以位于不同的POD中。对吗?没错。在kube中,pod是计划在节点上的最小组织单元。很少直接使用Pod,因为它通常通过使用部署、守护程序、状态集或作业来抽象。您应该通过这些更高级别的构造来创建集群,通常使用部署或状态集