Inter-clusters communication is becoming a thing with Rancher’s Submariner

Inter-clusters communication is becoming a thing with Rancher’s Submariner

Ever wanted to let your microservice communicate with ones deployed in another Kubernetes cluster? With newly launched Submariner, Rancher is starting a project to make this easier.

Submariner can be used to connect clusters across a layer three network to help with the challenges operational engineers face when it comes to inter-cluster communication. Those are, amongst other things, the variety of networking plugins across clusters, overlapping pod and service IP addresses, and a lack of a central networking management option.

The project is going to tackle that by creating IPSec tunnels and routes for direct connectivity and offering a centralised broker to let users “register and maintain a set of healthy gateway nodes”. Service discovery across multiple Kubernetes clusters should be part of Submariner as well.

Though not ready for production yet, the project is well worth a look for experimentation purposes and could open new possibilities when using Kubernetes or other CNI compatible cluster network providers. In an introductory blog post Rancher community manager Matthew Scheer mentions use cases such as service mesh deployments across clusters or database replications across geographic regions.

According to an e-mail statement by Rancher CEO Sheng Liang, Submariner is planned to be integrated into Rancher’s container management platform with an option of subscribing to commercial support “later this year”.

Until then, Liang’s team is meant to “solicit developer and user feedback, harden the implementation, simplify the install and operational experience, and create plugins for additional interconnectivity mechanisms”.

Submariner is available on GitHub, but will only work if you have at least three Kubernetes clusters, different cluster/service CIDRs between them, and direct IP connectivity between instances. Other than that a version of Helm that supports the crd-install hook is needed, which is any above 2.12.1, and a solid knowledge of each cluster’s network configuration.Those interested in the project can join an online meetup on 20 March to ask all their Qs and get more insight into the road ahead.