WARNING
This page covers some pretty nerdy concepts in Kubernetes, Cloud and Linux stuff. If you don't already know the basics of Kubernetes and have a familarility with Cloud and Linux. I'd suggest taking a look at the following pages before reading too much further. This article may be a bit dense and will assume you know the basics.
Kubernetes is a pretty awesome, fancy and resilient way of running your apps, but if you're new to it, it can be pretty challenging to get started with.
A cluster at home can be a great way to learn what the guts of Kubernetes do, and how all the pieces fit together!
Running a cluster can give you a test ground to extend the skills you already have or to try new stuff out.
You can run a cluster to host your personal apps like NextCloud or jsWiki at home.
And if you anywhere as nerdy as me. Deploying your own cluster is fun.
I want to be incredibly clear though. This is not the solution for all situations.
You should really look into managed services...
Google Cloud and Amazon Web Services provide managed kubernetes services which manage alot of the provisioning and maintainance of the cluster.
These services (GKE & EKS) are a much better choice here, but do keep in mind these can be costly if you're not careful.
Before you get installing anything, you have to know what you want in your cluster!