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.