Picking up and playing with Kubernetes

Published on Monday 29, July 2019

I have been following along with Kubernetes for the past few years. This year I have been paying more attention and have decided to pick up Kubernetes and give it a try. To get started, I picked up the audiobook version of The Kubernetes Book by Nigel Poulton. There's so much reading material available that I wanted to start with a good audio resource to digest as I finish moving out of our old house. I am only halfway through the audiobook, but it has proven to be a great resource at learning some of the basic concepts. Those Kubernetes manifest files seem a little less daunting and I'm hoping to write and share about my journey as well.

Playing with Kubernetes

My main reason for the delay was the cost of having a Kubermetes playground. Kubernetes requires a series of nodes within the cluster. You need at least one master node in a Kubernetes cluster to perform all of the orchestration operations. That means you need a minimum of two virtual machines in a cluster.

There are a few ways to play around with Kubernetes.

Docker for Desktop

For those of us running macOS or Windows, the Docker for Desktop application can run as a single-node Kubernetes cluster. You can still use Docker as normal for managing containers and Docker images. However, Docker will not be able to manipulate containers (pods) started by Kubernetes.

Documentation:

minikube

minikube allows you to implement a local Kubernetes cluster. I had heard of MiniKube but never tried it out. I have limited disk space remaining on my devices and constantly have to wipe out Docker's disk. minikube sets up a virtual machine that runs your local cluster.

Play with Kubernetes

The Kubernetes Book made me aware of a Kubernetes playground! If you visit https://labs.play-with-k8s.com/ you can log in using your GitHub or Docker Hub credentials to receive a sandboxed Kubernetes environment for four hours. 

This is exactly like Simplytest.me which spins up sandbox Drupal environments.

DigitalOcean

However, I went to DigitalOcean. Thanks to DigitalOcean's managed Kubernetes service, I have been able to get off the ground fairly easily. DigitalOcean is the most cost-effective solution as you only need to pay for nodes which will host your application. I have a single-node cluster that has a load balancer and object storage. All together this comes out to about $25 a month.

Jeff Geerlings Dramble

What I really wanted to do is build a Raspberry Pi Dramble, a creation by Jeff Geerling. The Pi Dramble is a Kubernetes cluster running on a series of Raspberry Pis. The entire products list is outlined so that you can build your own: https://www.pidramble.com/wiki/hardware/pis. I just know that I would end up buying all of the equipment and six months later I still would have components in their boxes. I'm hoping to build one during winter break this year and spend the years-end on heavier Kubernetes experimentation.