The purpose of this repository is to deploy Elasticsearch cluster easily in Kubernetes.
Elasticsearch v7+ use cluster.initial_master_nodes
instead of discovery.zen.minimum_master_nodes
, it's easily to config if elasticsearch run on the bare-metal, but it is troublesome for kubernetes.
Because the pod name can not be determined before elasticsearch run. Official or other chart deploy elasticsearch cluster with StatefulSet
, it can determine pod name before elasticsearch pod created.
But if not use StatefulSet
, it's not works well.
This repository solve above problem. Support StatefulSet
,Deployment
,DaemonSet
to deploy elasticsearch cluster.
kubectl apply -f elasticsearch-deployment.yaml
Elasticsearch default running in kube-system
namespace, modify the elasticsearch-deployment.yaml
namespace if you don't want to deploy elasticsearch to kube-system
namespace.
If not need to this feature, setting container args to eswrapper
, it keep the behavior consistent with the official.
Examples: docker run -it --rm pytimer/elasticsearch:7.7.1-k8s eswrapper