What I want
- ClusterA have PodA
- ClusterB have ServiceB select PodB in
namespace:default
- In GKE(Google Kubernetes Engine)
PodA in ClusterA can access ServiceB in clusterB like api.default.svc.cluster.clusterB
.
Solutions I tried
- GKE Internal Load Balancer: https://cloud.google.com/kubernetes-engine/docs/how-to/internal-load-balancing
- It works. But I need to create a lot of ILB for each one of services.
- https://stackoverflow.com/a/31665248/3854890
- I don't think manually configure kube-proxy is a good choice since I'm using preemptible VMs.
- Kubefed: https://github.com/kubernetes-sigs/kubefed
- I didn't dig it too deep. It's like manipulate multiple cluster and expose them. And what I what it communicates internally.
- Maesh https://containo.us/maesh/
- Didn't see cross cluster configurations.
- Istio https://istio.io/latest/blog/2020/multi-cluster-mesh-automation/
- A little complicated to me. Not sure it suit to this scenario.
Any solutions or ideas are appreciated! A example will be better.