We are trying to create 2 EKS Cluster lets name th...
# platform-toolbox
a
We are trying to create 2 EKS Cluster lets name them tier1 and tier2. Now, the user traffic will be coming to tier1 and we want to route that traffic from tier1 EKS to tier2 EKS cluster without having ELB in between tier1 & tier2. We are trying to build something similar to https://tetrate.io/blog/designing-traffic-flow-via-tier1-and-tier2-ingress-gateways/ Any Idea how this can be implemented ? Or any suggestion or useful links which can be followed to achieve this.
a
Can you please elaborate the use case and also the reason to eliminate ELB. One vague solution that I can think at the top of my head is to create two EKS cluster and do a VPC peering. Expose ingress controller of tier-2 service as node port service on private IP of the machine.
To achieve sometime like what taterate is trying to implement: 1. Expose both clusters ingress service as nodePort service. 2. Create one application load balancer(will be used by both the clusters). 3. Create target group for both the clusters, 4. Use AWS load balancer controller to create target group binding object and add nodes in the relavent cluster. 5. Attach the target groups(for both cluster) to your load balancers listener. 6. Since you're using an application load balancer, based on host header you can either route the traffic to tier1 cluster or tier2 cluster. @Anshul Garg Hope this helps.
a
@Aakash Singhal thanks for response but we are trying to expose of tier1 eks cluster via ALB and tier2 cluster should get connected via tier1. A common ALB shdnt be shared in between both the clusters
a
so will tier2 cluster we exposed via some ingress(not load balancer) or you want all the services in tier2 cluster be reachable from tier1 cluster on cluterIP(or service name)?
a
Actually we want all the services in tier2 cluster should be reachable from tier1 cluster via service name. We don't want LoadBalancer between tier1 & tier2
a
I haven’t used it but I guess, vpc peering and istio should be able to do this. Let me see if I can find a good blog for this.
a
A service mesh would do that but there still has to be an ingress from the outside into the cluster and usually that is a load balancer. We use Linkerd and it has a multi cluster feature that can accomplish this

https://youtu.be/R0oS4B-FZHQ

a
I think this should be possible using Multi-Primary approach So, Istio Operator configurations in both the tier1 & tier2 cluster should have common "meshID" and "network" Something as explained in https://istio.io/latest/docs/setup/install/multicluster/multi-primary/