Skip to main content

Kind Installation Guide

If you want a lightweight Kubernetes cluster on your laptop, Kind is a great choice. It runs Kubernetes nodes inside Docker containers, so you can create a cluster quickly without installing a full virtual machine.

This guide explains the setup process in simple steps, from installing the required tools to creating your first cluster.

Prerequisites​

Before you start, make sure you have:

  • A computer with at least 4 GB RAM and 2 CPU cores
  • Docker installed and running
  • Internet connection to download container images and tools
  • A terminal such as PowerShell, Terminal, or Bash
note

Kind depends on Docker. If Docker is not running, your cluster will not start.

Step 1: Install Docker​

Windows​

  • Install Docker Desktop from the official Docker website
  • If prompted, enable WSL 2
  • Restart your computer after installation

macOS​

  • Install Docker Desktop from the official Docker website
  • Open Docker Desktop and wait until it shows that it is running

Linux​

Install Docker for your Linux distribution from the official Docker documentation, then start the Docker service:

sudo systemctl start docker
sudo systemctl enable docker

Step 2: Verify Docker​

Run these commands to confirm that Docker is working:

docker --version
docker run hello-world

If the test container runs successfully, Docker is ready.

Step 3: Install Kind​

Windows​

If you use Chocolatey, run:

choco install kind

If you do not use Chocolatey, download the Kind binary from the official releases page and place it in a folder that is already in your PATH.

macOS​

brew install kind

Linux​

curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

Verify the installation:

kind --version

Step 4: Install kubectl​

Kind uses kubectl to talk to the cluster. If you do not already have kubectl, install it.

Windows​

choco install kubernetes-cli

macOS​

brew install kubectl

Linux​

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/kubectl

Verify the installation:

kubectl version --client

Step 5: Create Your First Kind Cluster​

Now you are ready to create a cluster:

kind create cluster --name my-local-cluster

Or to create a multi-node cluster with a config file:

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4

nodes:
- role: control-plane
- role: worker
- role: worker
kind create cluster --config kind-config.yaml --name cka-lab

This will:

  • create a Kubernetes control plane node
  • start worker nodes as Docker containers
  • update your kubeconfig so kubectl can connect to the cluster
info

I faced an issue while creating the cluster with kind. For details on the issue and how I fixed it, read Kind Cluster Creation Issue.

Step 6: Verify the Cluster​

Check that everything is running:

kubectl cluster-info
kubectl get nodes
kubectl get pods -A

You should see one or more nodes in the output.

Step 7: Stop or Delete the Cluster​

If you want to stop the cluster for now, delete it:

kind delete cluster --name my-local-cluster

If you want to create it again later, run the create command once more.

Why Kind Is Useful​

Kind is simple and fast. It is especially useful when you want to:

  • test Kubernetes manifests locally
  • try CI/CD workflows
  • learn Kubernetes without using too many resources

Next Steps​

Now that we have seen both Minikube and Kind installations, it is time to understand how our terminal talks to these clusters. When we run commands such as kubectl, Kubernetes needs a way to find the correct cluster and authenticate to it. That is where the kubeconfig file comes in.

So, before moving ahead with more Kubernetes concepts and hands-on tutorials, let us understand what kubeconfig is and how it helps kubectl connect to our Minikube or Kind clusters.