If you have been following the news about what has been going on in IT for the last several years you will have most likely come across the terms “container”, “docker”, “kubernetes” and so on and so forth.
In case you have not I’ll try to give the shortest possible explanation for these terms:
- A “container” is a way to run an application inside a secure, isolated environment not completely unlike a virtual machine, but containers are much smaller, because they really only contain what is needed for the application, instead of a whole OS.
- Docker is one of the more popular ways to run containers on one single host, let’s say your desktop workstation.
- Kubernetes is a tool to manage whole clusters of hosts that run containers, and orchestrate the deployment of applications in these clusters. Red Hat OpenShift Container Platform is based on kubernetes.
So, if you’re in any way interested in what’s up and new in IT you might want to experiment with these technologies.
I’m assuming you have already started doing that and reached the point where docker alone is not all that exciting anymore – the next step would be kubernetes.
For a small, local environment that you use only to learn and experiment, you can use minikube, which will install and run a local kubernetes inside one single VM – or minishift which is the same for OpenShift. But if you’re planning on later actually doing some usable things in containers you might want to build something bigger that is more permanent, on some spare hardware (or one or more raspis) – and that’s where we run into the first “not really a” problem with kubernetes – for a minimal K9S (the short form of “kubernetes”) setup you need at least two hosts – a master and a worker.
And this is where I’ll take a sharp right turn, and move from K9S to K3S. K3S is a “lightweight” kubernetes that is so stripped down that you can run a usable setup on one small piece of hardware, like one of my spare HP microservers – 8G Ram, 2 core AMD cpu, 250GB harddisk… you could even install and run K3S on a single Raspberry Pi, assuming it’s at least a Pi 3. The point here is that from the users and administrators point of view, K3S is just the same as K9S, just on less hardware.
In the following few posts I’ll describe how I set it up, and what I’ll eventually do with it.