When I install the ECK operator in my kubernetes cluster it's added a
hulk-es-http service. I'd like to know if I send all the requests to
https://hulk-es-http:9200 it'll route to the right nodes.
E.g.: 3 master nodes, 2 data/ingest nodes. Will the
hulk-es-http route all my queries and indexes to the data nodes? Or do I have to create a
hulk-es-data-http only to handle this?
In case that I have also a coordinator node the
hulk-es-http will send the client requests to the coordinator and it send to the other nodes?
I was reading the docs and the forum but I'm still with these doubts.
I believe this page answers your question, but let us know if you still have questions after that. The main services page has more of an overview as well.
Thanks for your quickly reply @Anya_Sabo.
Actually I already read theses docs lots of times but I still have the doubt. I'm probably missing some important point. Anyway I'll read again and try to understand better.
To make it clear just in case:
- the default
<cluster-name>-es-http services load balances traffic across all nodes
- you can create your own services if you want to route traffic to specific nodes (eg. coordinator nodes, or data nodes, or non-master nodes)
You can also follow this github issue in which we discuss future plans for improving the default service and/or create other services.
I got it @sebgl! I think for now the default service would fit to my case.
Just one more thing. Is it better to avoid hits to the master node?
Eg: my Rails application who index and search documents should point to a exclusive
data-node-http service to avoid
master node hits?
Is it better to avoid hits to the master node?
It is better for performance reasons, yes. If your cluster is not under high pressure it may not matter that much.
Thanks a lot for your explanation @sebgl. You clarified a lot of doubts I had about the service orchestration