# Client-node separated from cluster

**URL:** <https://discuss.elastic.co/t/client-node-separated-from-cluster/225026>\
**Category:** Elasticsearch\
**Created:** [March 25, 2020, 4:40pm UTC](https://discuss.elastic.co/t/client-node-separated-from-cluster/225026 "2020-03-25T16:40:18Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![kluvi](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kluvi/32/36739_2.png) [@kluvi](https://discuss.elastic.co/u/kluvi)\
**Post date:** [March 25, 2020, 4:40pm UTC](https://discuss.elastic.co/t/client-node-separated-from-cluster/225026/1 "2020-03-25T16:40:18Z")

</div>

Hi.  
We have this setup:

- 4-nodes Elasticsearch cluster on dedicated physical server (only 3 of them has master role)
- Kubernetes cluster, which runs all parts of our application

My idea is to run some client-only nodes inside Kubernetes cluster to speedup everything a little bit The client nodes should act as "load-balancers" and all traffic which goes currently directly from Kubernetes to Elasticsearch should go first through this client nodes.

I am not sure what I am doing wrong, but it looks, that even on the client nodes, the transport port has to be accessible from rest of the cluster (which is not easy to do in case of Kubernetes). Am I right or I have just something wrong in my configuration?

I am using the default image `docker.elastic.co/elasticsearch/elasticsearch:6.8.6`  
With following config:

```auto
discovery.zen.ping.unicast.hosts: elasticsearch-node-01.bf.svc:9300,elasticsearch-node-02.bf.svc:9300,elasticsearch-node-03.bf.svc:9300
discovery.zen.minimum_master_nodes: 1
cluster.name: xxx
network.host: 0.0.0.0
node.data: false
node.ingest: false
node.master: false
node.ml: false
cluster.remote.connect: false

```

And getting this error:

> [INFO][o.e.d.z.ZenDiscovery] [elasticsearch-client-node-0] failed to send join request to master [{mic665}{hdVeXXXiCj6Q}{eENqgPXXXzVvA}{X.X.X.208}{X.X.X.208:9300}{ml.machine\_memory=134595375104, ml.max\_open\_jobs=20, xpack.installed=true, ml.enabled=true}], reason [RemoteTransportException[[mic665][X.X.X.208:9300][internal:discovery/zen/join]]; nested: ConnectTransportException[[elasticsearch-client-node-0][10.233.83.19:9300] connect\_exception]; nested: IOException[connection timed out: 10.233.83.19/10.233.83.19:9300]; ]

Where `X.X.X.208` is IP of the `mic665` node and `10.233.83.19` is Pods internal IP in Kubernetes cluster (which is currently not reachable from outside of te K8s cluster).

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [March 25, 2020, 5:30pm UTC](https://discuss.elastic.co/t/client-node-separated-from-cluster/225026/2 "2020-03-25T17:30:53Z")

</div>

> [@kluvi](#):
>
> it looks, that even on the client nodes, the transport port has to be accessible from rest of the cluster (which is not easy to do in case of Kubernetes). Am I right or I have just something wrong in my configuration?

Yes that's right. Every node in the cluster needs to be accessible from every other node.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [April 22, 2020, 5:33pm UTC](https://discuss.elastic.co/t/client-node-separated-from-cluster/225026/3 "2020-04-22T17:33:06Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
