GKE - how to connect two clusters to each other

2/4/2020

I'am new to the kubernetes and gcp. I have one cluster called A where my service is running. In order to run it needs an elasticsearch cluster. I would like to run the elasticsearch in the different GKE cluster so it won't have any impact on my current services. I created another cluster called B and now I have an issue I don't know how to make the service from the A cluster to connect to the elasticsearch pod from the B cluster.

Currently I've found two solutions:

a) make elasticsearch accessible on the public internet - I want to avoid such solution

b) add to the service another container that would authenticate to the B cluster and run kubectl proxy

None of them seems to be the perfect solution. How to solve such case ? Do you have any tutorials articles or tips how to solve it properly ?

edit:

important notes:

  • both clusters belong to the default vpc

  • clusters exist I cannot tear them down and recreate reconfigured

-- Clyde Barrow
google-cloud-platform
google-kubernetes-engine

1 Answer

2/4/2020

You can expose your service with type LoadBalancer. This will create an internal load balancer which other GKE cluster can reach.

This article details the steps.

This article explains the available service option on GKE in detail.

With these option you dont have to expose your service to public internet or destroy your GKE cluster.

Hope this helps.

-- pradeep
Source: StackOverflow