Multi-cluster the new way to mesh ?
ServiceMesh brings a lot of benefit into your micro services. Federating multiple meshes is something scaling beyond one cluster boundaries and still you are looking for a more flexible and scale able solution spawning more cluster ?
Well than let me tell you about a feature called Multi-cluster.
Multi-cluster provides us a flexible way to federate two Kubernetes API endpoints for our ServiceMesh. With that we can utilize remote services as if they are deployed locally and even utilize those resources in case the local ones are not available.
The following graph shows an incoming request being answered by two deployments from different clusters in a load balanced way.
Hey, we already know that from Federation! That's true but in multi-cluster you do not need to additionally announce the service to the other cluster. All your already settled ServiceMesh configurations is all it takes.
Wait wait wait, what about SPIFFE if we are required to authenticate and authorize all requests ? Yes, multi-cluster does forward SPIFFE information for you.
X-Forwarded-Client-Cert": "By=spiffe://cluster.local/ns/west/sa/default;Hash=c51856eb61f92f6f9225ae2babdde6568a3a995d6f9e0799c26ccbc68e8f84c0;Subject=\"\";URI=spiffe://cluster.local/ns/east/sa/default"
Even though, metrics and tracing is not only ServiceMesh related, federating those perfectly enhances the application traceability and monitoring.
I hope we will soon see those features in Red Hat OpenShift ServiceMesh so that I can provide you with a new Lab and Demo on it.
All the best
Michi