kubernetes-elasticsearch-cluster icon indicating copy to clipboard operation
kubernetes-elasticsearch-cluster copied to clipboard

ES cluster with StatefulSet or ES operator?

Open komljen opened this issue 6 years ago • 3 comments

Hi everyone,

I'm looking into prod ready ES deployment and I like the flexibility of using k8s StatefulSet's or Deployments. So, my question is, use this repo or ES operator on k8s - https://github.com/upmc-enterprises/elasticsearch-operator?

I liked the idea of operators, but it seems that apps are getting more "cloud native" and with k8s improving a lot with each release, I don't see the need for Operators. Maybe I'm wrong, so I would like to get your opinion on this topic.

Also, if you are using ES in prod, how it is deployed on k8s?

Thanks!

komljen avatar Nov 13 '17 10:11 komljen

I'd start with this repo to understand a few basics around running Elasticsearch with Kubernetes, including a few issues - like why using StatefulSet. Then, I'd go with the operator. It's OSS too and one can extend it in order to accomodate one's needs - but yeah, you need deeper Kubernetes expertise to adapt it, but not to adopt it ;)

pires avatar Nov 13 '17 11:11 pires

I'm in the same boat as @komljen . It's fuzzy to me what ES operator offers beyond what https://github.com/pires/kubernetes-elasticsearch-cluster offers, for example. It looks like they both try to add ES to k8s keeping in mind ES-specifics, like the pod anti-affinity. Zone awareness would be another good one, but I think neither https://github.com/pires/kubernetes-elasticsearch-cluster or https://github.com/upmc-enterprises/elasticsearch-operator have that yet.

otisg avatar Nov 13 '17 14:11 otisg

I don't know the specifics of the operator but in theory, an operator can/should be more powerful than the StatefulSet and provide features specific to Elasticsearch operations, e.g. resharding.

pires avatar Nov 13 '17 16:11 pires