Where to store Elasticsearch configuration files?

Hi all,

I’ve read this guide a few times and I’m not sure where would be the best place for maintaining my config files for the master, data, and client nodes. Reading through Docker Hub, it appears you can place the file somewhere that’s mounted on the host and just provide it’s path as an option when the container is being created.

I only have 3 hosts and planned on running one of each node type on each server. I’m just not entirely sure where I can safely store the config files for each type. This gets especially weird when I’m ready to introduce new hosts to my data services stack and have to manually copy files over before I can add to my cluster.

we had the same question and needs as you. What we came up with is to NOT store the config files on hosts. Instead we create small busy-box data only container that contains the config files. The ES master and slave get the config from volumes-from.

We basically came down to the conclusion to avoid bind-mounts (-v) in all our stacks managed via rancher and only use pre-made data-only-containers. If the configuration contain secrets we store these data-only-containers in a private registry which we register in Rancher.

I guess for advanced use cases the data containers can also use rancher glusterfs or netshare volume plugin. We are looking into these now.