Local K8 Cluster With Kind
Not a big fan of minikube? Kind should be your thing.
Setting up a full-blown Kubernetes cluster on GKE/EKS (GCP/AWS) for side projects isn't a great solution. Sometimes I go for weeks, sometimes months, without working on my side projects. In that case, spinning up and destroying cloud solutions sounds like an overkill
Kind K8 clusters are great because it's simple, easy to use, and just work.
I have tried minikube but had trouble setting up VMs and left it at that. Now minikube supports Docker, but that doesn't nudge me to give it another shot.
I'm on a mac, and there are ways to install it in Windows and Linux.
brew install kind
After this, I don't follow the quickstart because I need a cluster with 3 nodes one for kubesystem and 2 for my applications. Write the following into a yaml file
kind-cluster.yamland have it handy
- role: control-plane
- role: worker
- role: worker
Kind internally uses Docker containers as your nodes, so you need to have docker up and running.
kind create a cluster --config kind-cluster.yml
To check if clusters are created and their status
kind get clusters
To use this cluster with kubectl, you need to configure the cluster context
kubectl cluster-info --context kind-kind
Now you can continue on to using the kind cluster as you would use EKS/GKE
- Running a lot of nodes might slow down your laptop
- Pausing Docker is a new feature. I tried it, only for my system to crash completely. I suggest quitting Docker to release resources and restarting when you need it.