With the rising popularity of containers, it seems that containers and networking interact more and more frequently. Amongst all the excitement, there is also terminology and technical complexity. And because of this, I’m super grateful for Cumulus in the Cloud. As a Sr. Consulting Engineer, part of my job is ensuring I am deeply familiar with the technologies and methodologies our customers are using. I’ve recently been playing with Cumulus in the Cloud to better learn how Mesos’s Marathon and Mesosphere interoperate with Cumulus Linux and NetQ.
Let me start off by saying that if you’re interested in container networking but want more information on how to do it right, we’re hosting a webinar with Mesosphere that you should most definitely check out. Our co-founder, JR Rivers, will also be hosting, and, I promise you, he’s always an engaging speaker. Of course if you’re already familiar with container networking, or you would like to learn about it in a more hands-on atmosphere, then please read on!
I’m a networking veteran, but working at Cumulus has pushed the boundaries of my networking knowledge as I’ve had to learn more about integrating networking solutions with application functionality. When I have to talk to customers about Mesos deployments and their infrastructure requirements, I needed a way to quickly learn the basics. Cumulus in the Cloud was a great help in this regard.
While working in the field, one of the most common questions I get is whether a customer can test or observe a solution to further learn or understand its functionality. And this question has become increasingly complex as more and more users want to experience an end-to-end demo of any solution before buying into the individual components.
Historically, this feat was reserved for either advanced users who were familiar with customizing virtualization solutions, or for users with time and money that could have that process done for them. Luckily, Cumulus Networks has once again set the standard for making networking accessible and simple for everyone.
Cumulus in the Cloud is a logical progression of all the virtualization solutions that Cumulus has been building towards. We started first with Cumulus VX, then expanded into comprehensive demos that leverage Libvirt, Virtualbox and Vagrant, and we’ve now made the virtual environment transparent and only one click away.
To give some more detail, Cumulus in the Cloud is a virtual data center that’s pre-built with web-scale technologies. It’s a completely free tool that allows you to play around with both Cumulus Linux and Cumulus NetQ. Plus, the step-by-step guided tours and the web browser dashboard make the user experience intuitive and easy.
Getting back to what I started with originally, simulating just the network isn’t interesting. We want to simulate an entire application workflow. Using any other traditional vendor, this is no easy task as their proprietary operating systems are locked down to proprietary simulation tools. Luckily, Cumulus Linux has all the flexibilities of Linux, which includes its robust simulation experience.
It didn’t take us much searching to find a partner in the application space who believes in simulation, testing and learning as much as we do in networking. Mesos coordinated with us to launch Cumulus in the Cloud with a full Mesos and Marathon deployment. Now when you launch your own personalized instance of Cumulus in the Cloud, it launches with a fully deployed Mesos solution. Marathon is used to deploy any Docker container you prefer onto Ubuntu servers. And this isn’t just a simple CLI only simulation. My favorite part is that Cumulus in the Cloud was designed with GUI interaction as a priority. So you can access the NetQ, Mesos or Marathon GUIs directly from the landing page:
I was able to access the Marathon GUI and customize my docker deployments through Mesos:
With this level of control, I started to experiment. I wanted to see if I could create a custom network on the servers, then deploy the CRoH-DAD container, and see if my containers could be advertised as host routes into my infrastructure. CRoH-DAD, for those uninitiated, is a really cool container that integrates with FRRouting (FRR) to advertise IP addresses assigned to containers as host routes from the server. Shout out to Eric Pulvino who was the core contributor to the solution.
I started first by deploying the CRoH-DAD container on each of my switches:
After installing that container, then I created a custom network on all my servers:
For CRoH-DAD to work, I needed to tweak the existing FRR instance running on the servers to import the Linux kernel routing table 30, the location where CRoH-DAD puts the container host routes:
As the last step, I deployed the container using the custom network:
Finally, after completing all of these tasks, I was impressed and surprised that these containers deployed onto the custom user network and were immediately detected by NetQ.
The flexibility of Cumulus in the Cloud as a virtualized data center that I can use for testing and learning was impressive. I’m looking forward to new demos being deployed in Cumulus in the Cloud, so that more customers can experience first-hand the innovation that Cumulus Networks is bringing to the data center environment.
Are you interested in learning more about containers and how Cumulus and Mesosphere work together? Sign up for our upcoming webinar, which features special guest Edward Hsu, VP of product marketing at Mesosphere!