Home Lab Considerations
Kubernetes for a home lab. The idea is great, I have been blogging about this for quite some time now. Kubernetes on Pi’s and even my latest adventure of standing up a virtual environment. But there are a few things to consider before you go down this road. Things that can save you a lot of time and even a lot of money.
First let’s look at your use case for a Kubernetes home lab. And to do this we need to look at what part of this stack are you focusing your needs on. Are you practicing installing and configuring? Or are you building application’s to deploy to Kubernetes? This is important because these two use cases can diverge you on what you need for a home lab. If you are architecting and building applications to deploy into Kubernetes. Your need is Kubernetes. But if you are learning more how to manage and deploy Kubernetes. Your need goes a bit deeper.
Let’s look at that first need, you are the application architect looking to hone your skills. Designing and building app’s to leverage Kubernetes to the fullest. For this the easiest route is running a light weight version of k8s on your development machine. Something like k3s or Microk8s. Sure, you can argue this isn’t a “lab”, but it meets the needs you are trying to meet. Now if you have the hardware or if your development box doesn’t have the extra power then a separate server. This can be an old gaming PC or an old laptop you rarely use anymore. This can handle a single node cluster with ease. If you have a beefier machine you want to stand this up on consider Multipass. This combined with k3s or Microk8s is a great lab. That can scale up a bit and give you some other options to run on your lab. Mind you the focus of this lab is upstream Kubernetes for development.
The other side goes a bit deeper. The focus here isn’t upstream Kubernetes but rather ICM. Installing on a virtualized environment isn’t the same as standing up a single node. With this the needs become greater and more expensive. Hardware, what to buy and how much is tricky. You can buy new spend more and have a longer server life. You can buy used. In buying used things come very cheap. Companies refreshing the hardware in their data center hit the resell market fast. You can find some great deals as well. One thing to consider is how old the hardware is. This is a good way to transition to the software. Keeping in mind the goal is install, configure and manage. Well, to make this meaning full is to know where you are going to install this. The vast majority of customers are running vSphere. From what I am told for what it does it is the market leader in virtualization. But like any closed source software this comes at a price. Sure you get 30 or 60 days trials but life happens. So if you cannot commit the time to do this all at once trial license can be difficult. If you have access to NFR’s this is a moot point. Another consideration is the age of the hardware. Newer versions of virtualization software are not supported on older hardware. So, if you are picking up used hardware keep this in mind.
These two different use cases are both deep in Kubernetes but in different ways. Understand your use case before starting down this path. If you are sharpening your skills around ICM don’t practice on a single server or your local machine. On the other side if you are looking to sharpen your skills on developing to Kubernetes. A single node local cluster can meet your needs.