Flying Kubernetes with the Kubefly project: Using drones to demonstrate key Kubernetes concepts

February 28, 2019 devadvin

Kubernetes is one of the fastest-growing technologies in the industry, and for good reason. Kubernetes provides an isolated and secure app platform for managing containers – ultimately transforming application development and operations for your team or company. You may have heard, or felt, that Kubernetes concepts are complex or hard to learn.

Our team at IBM built a demo to teach and explain core Kubernetes concepts by using a swarm of flying drones. The drones showcase concepts like pods, replica sets, deployments, and stateful sets. To help clearly show the Kubernetes resource lifecycles from the CLI, we used Kui Shell – a new research project to deliver on a hybrid CLI experience. Once you apply your Kubernetes deployment describing an application, you’ll see a few drones take off – each one represents a pod in the deployment. If one of the Kubernetes pods is killed, you’ll see the drone land, and another will take its place, as Kubernetes’ uses a declarative model to always attempt to match the desired state.

We really enjoyed working with the drones for this project! The drone we used is the crazyflie2.0 from bitcraze. The drones are perfect for fun hack projects – they’re open source, designed with developers in mind with a rich API, and easy-to-use programming libraries. And they can be outfitted with multiple expansion decks for additional functionality. These expansion decks range from LED light decks to sound decks that can emit a number of sounds, including the Star Wars’ Imperial March theme song.

For this project, we started by purchasing the swarm bundle – 10 crazyflie drones, expansion decks and positioning nodes for the Loco Positioning System, radio transmitters, cables, and extra batteries! This bundle gives you all the pieces to create a swarm of drones and an external positioning system so that the drones know their location in 3D space. We also purchased an LED ring expansion deck for each drone, so that we could include lights for certain elements of the demo.

If you’re interested in checking out the code, feel free to head on over to the open source project on GitHub. You can, of course, fork it and expand on it to build your own projects! We’d love to see what you create.

Previous Article
Define a simple CD pipeline with Knative
Define a simple CD pipeline with Knative

In this blog post, I describe how to set up a simple CD pipeline using the Knative pipeline.

Next Article
containerd just graduated in the CNCF! What does that mean for developers who use it?
containerd just graduated in the CNCF! What does that mean for developers who use it?

With the announcement of containerd's CNCF graduation, what will this mean for developers and end users?


Want our latest news? Subscribe to our blog!

Last Name
First Name
Thank you!
Error - something went wrong!