Meet the new Kubernetes tool: Cross-cluster connectivity with Submariner

Share
  • March 15, 2019

New Kubernetes projects keep appearing across the horizon. It’s easy to see why. Kubernetes dominates and has become the new standard. On March 12th, Rancher Labs announced a new open source project: Submariner. Submariner allows for network connectivity between Kubernetes clusters.

Note: This is currently in pre-alpha stage. Thus, users are encouraged to avoid it for production purposes. You can report any bugs and issues that you find or help contribute. Let’s see what’s under the hood!

Cross-cluster network connectivity

Submariner has an open and flexible architecture.

From the GitHub repo:

“Submariner is a tool built to connect overlay networks of different Kubernetes clusters. While most testing is performed against Kubernetes clusters that have enabled Flannel/Canal, Submariner should be compatible with any CNI-compatible cluster network provider, as it utilizes off-the-shelf components such as strongSwan/Charon to establish IPsec tunnels between each Kubernetes cluster.”

The two main components are: submariner (Deployment) and submariner-route-agent (DaemonSet).

SEE ALSO: Easier Kubernetes cluster deployment with Kubespray

You must have at least three unique Kubernetes cluster IDs. If you have two of the same ID, each pod will perform a reconciliation process to try and ensure that it is the sole endpoint for the cluster. Of course, this will not work if two have the same ID. Just like a real submarine, it accounts for potential failure. Upon failure, another Submariner pod gains active leadership.

The announcement blog on Rancher.com listed some more key features:

  • Compatibility and connectivity with existing clusters
  • Secure paths
  • Various connectivity mechanisms
  • Centralized broker
  • Flexible service discovery
  • CNI compatibility

Check out a representation of the architecture here.

Dive under with Submariner

Before you take the dive, check what you need. Prerequisites include:

  • At least 3 Kubernetes clusters. One of these clusters will be used as the central broker that is accessible by all of your connected clusters.
  • Different cluster/service CIDR’s
  • Direct IP connectivity between instances through the internet
  • Knowledge of each cluster’s network configuration
  • Helm version that supports crd-install hook (v2.12.1 and newer)

Submariner installs via a Helm chart.

While this is a very new tool, the future for Submariner looks optimistic. We will certainly keep an eye on it and its roadmap and developments.

SEE ALSO: Kubernetes for IoT gets lighter than ever with k3s

Rancher Lab’s other open source Kubneretes tool – Rancher – finds success in managing multiple clusters. So far, Rancher helped over 2 million containers deploy and over 20,000 teams use Rancher daily.

If you would like to learn more, an online meetup will occur on March 20th, 1:00 PM US Eastern Time. Book your spot for a Q&A session and more information about Submariner straight from its developer Chris Kim, and Rancher Co-Founder Shannon Williams. You will leave the meetup knowing use cases for Submariner, how to developer an architectural design for it, and how to setup and manage high available microservices.

Does this sound like a worthwhile project to you? Is your future full of inter-clusters communication?

The post Meet the new Kubernetes tool: Cross-cluster connectivity with Submariner appeared first on JAXenter.

Source : JAXenter