I am trying to deploy production grade Elasticsearch 6.3.0 on Kubernetes.
Came across few articles, but still not sure what is the best approach to go with.
It doesn't use stateful set.
This is pretty old.
Using elastic search for App search.
Images from Elasticsearch are
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.3.0
docker pull docker.elastic.co/elasticsearch/elasticsearch-oss:6.3.0
I would like to go with -oss image and it is the core Apache one.
Is there any good documentation on setting up production grade 6.3.0 version on Kubernetes.
StatefulSet
? We are running an ElasticSearch cluster based on Deployments like the one bypires
just fine. I think his documentation on Github and his manifests are a solid base to start from and you can just change theDeployment
to aStatefulSet
if you believe it is the better choice for you. – matthias krullPod
restart is zero drama, so long as thevolumes:
are correctly declared because that's kubernetes' job,StatefulSet
orDeployment
will behave the same. The difference between the two is whether avolume
is tied to a Pod's identity, such asdb-0
always needs to start up withdb-0
's data, in contrast to "fine, startup with any data so long as it persists over time" – mdanielvolume
provider has enough IOPS to support an ES cluster, because those things will thrash a disk for sure. In AWS, you'll wantio1
with as many provisioned IOPS as you can afford, because it is bad news to have an ES cluster driving the load average high on a Node because of the blocking I/O – mdaniel