pires / kubernetes-elasticsearch-cluster

Elasticsearch cluster on top of Kubernetes made easy.
Apache License 2.0
1.51k stars 690 forks source link

ES production configuration #236

Closed msmaverick2018 closed 5 years ago

msmaverick2018 commented 5 years ago

Thanks for creating this wonderful repo. It has been very helpful. We are planning to deploy a stateful elasticsearch cluster to production using the kubernetes deployment files you provide via this repo. I am curious to know the following:

1) You have created stateful configuration for master nods/pods of elasticsearch. What is the significance of this? I see many examples where only the data pods are deployed in stateful manner. Following are few links https://imti.co/kubernetes-production-elasticsearch/ https://raw.githubusercontent.com/bitnami/charts/master/bitnami/elasticsearch/values-production.yaml

2) If we have client/co ordinating pods also in the mix, should they be also deployed as stateful set?

Any guidance is appreciated. Thanks in advance.

skokovic commented 5 years ago

Hi @msmaverick2018 !

I was the creating the pull request for this. More info you can find here https://github.com/pires/kubernetes-elasticsearch-cluster/issues/210

  1. After seeing that masters actually hold some metadata about the cluster I decided to make them stateful, so that the data isn't lost.
  2. Client nodes aren't stateful in their nature, their role is to accept client connections and serve requests. You can forward their logs to a centralised place to have a better vision of incoming requests. But, and you can test this, recreating client nodes won't make any changes to the cluster state

Hope that helps! Cheers!

msmaverick2018 commented 5 years ago

Thanks @skokovic . Appreciate your response.