Flying Kubernetes with the Kubefly project: Using drones to demonstrate key Kubernetes concepts
Using drones to demonstrate key Kubernetes concepts
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.