I'm working in an enterprise environment with two EKS clusters for production, both running the same applications and using AWS ALB for load balancing. We're looking to implement a service mesh and have been evaluating options like Istio and Kuma, both of which seem suitable for multi-cluster setups.
Kuma appears to be straightforward to set up and is designed for multi-cluster architecture, but I find the documentation lacking and community support not very robust. On the flip side, Istio is well-established with proven performance in production setups, plus it has extensive community backing and documentation. However, its multi-cluster configuration comes more as an extension rather than a built-in feature, plus there are various tools needed for managing configurations and visualizing metrics.
What we need is effective traffic control and the capability to load balance across clusters that aren't directly connected (we're dealing with separate VPCs, both peering and non-peering connections). We also want to be able to add new clusters whenever necessary. I'd love to hear if anyone has experience with either Istio or Kuma in a multi-cluster scenario, particularly regarding management, debugging, or upgrades.
4 Answers
Have you considered using Cilium? It's known for its networking capabilities in Kubernetes and can be handy in multi-cluster scenarios.
Are your clusters in the same region? If they are, it could simplify things a bit. You can also extend to multiple regions later on if needed.
Have you checked out Liqo? It's designed for multi-cluster scheduling and also provides inter-cluster connectivity. It might fit your needs well!
Cilium or Kuma could be great options. Kuma, by the way, is pretty similar to Kong if you're familiar with it. Just keep that in mind when making your choice!
Yes, they're in the same region for now, but we want the flexibility to expand to multiple regions in the future.