Vladyslav Ratslav

Cloud Architect · DevOps · MLOps · SRE Consultant
article preview

Setting Up a High-Performance Local Kubernetes Development Environment on Windows

Published by Vladislav · Cloud Architect · March 2026

Also published on LinkedIn: Read on LinkedIn

A reliable Kubernetes environment doesn’t have to depend on cloud resources or heavy virtual machines. With modern tooling on Windows—especially WSL, Docker, Minikube, kubectl, and Argo CD—you can create a fast, lightweight, and production‑like Kubernetes setup directly on your laptop. This guide walks through the essential steps to configure everything with maximum performance and minimal overhead.

Why Kubernetes on Windows Works Well Today

Running Kubernetes locally used to be challenging on Windows due to virtualization limitations and inconsistent tooling. With WSL2 and native Linux distributions, the experience is now:

  • Fast: thanks to a real Linux kernel running inside Windows
  • Lightweight: avoiding full virtual machines
  • Compatible: supporting Docker, Minikube, kubectl, and GitOps tools
  • Flexible: allowing you to mirror real cluster behavior for development and testing

This makes Windows a perfectly capable platform for Kubernetes‑centric workflows.

Installing the Linux Foundation: WSL and Ubuntu 24.04

WSL2 provides the Linux environment required for Kubernetes tooling.

wsl.exe --install Ubuntu-24.04
wsl.exe --set-default Ubuntu-24.04

Once installed, all commands will run inside Ubuntu. You can launch it via bash or wsl from the Windows Run dialog (Win + R).

Preparing the Container Runtime with Docker

Kubernetes relies on containers, and Docker is the most common runtime for local clusters.

sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

sudo systemctl start docker
sudo usermod -aG docker $USER && newgrp docker

This gives you a fully functional Docker environment inside WSL.

Running a Local Kubernetes Cluster with Minikube

Minikube is ideal for local Kubernetes development because it is lightweight, fast, and easy to reset.

curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64

Minikube can use Docker as its driver, making it efficient and resource‑friendly.

Managing Kubernetes with kubectl

kubectl is the primary CLI for interacting with Kubernetes clusters. You can install it in two ways.

Using Minikube’s built‑in kubectl
Best for local‑only development:

echo 'alias kubectl="minikube kubectl --"' > ~/.bash_aliases
. ~/.bash_aliases

kubectl version

Installing the standalone kubectl
Best if you also work with remote clusters:

sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.35/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
sudo chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.35/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo chmod 644 /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl

kubectl version

Adding GitOps Capabilities with Argo CD

Argo CD brings declarative, Git‑driven Kubernetes deployments to your local environment.

kubectl create namespace argocd
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

Expose the UI locally:

kubectl port-forward svc/argocd-server -n argocd 8080:443
          

Open in your browser: https://127.0.0.1:8080/applications

Retrieve the initial admin password:

echo 'alias argo-passwd="kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath=\"{.data.password}\" | base64 -d; echo"' >> ~/.bash_aliases
. ~/.bash_aliases

argo-passwd

What This Setup Enables

A Windows machine configured this way becomes a powerful Kubernetes development workstation:

  • You can run full Kubernetes workloads locally.
  • You can test GitOps flows with Argo CD.
  • You can build and deploy containers using Docker.
  • You can experiment with manifests, operators, CRDs, and controllers.
  • You can mirror real cluster behavior without cloud costs.

This environment is ideal for developers, DevOps engineers, and platform engineers working with Kubernetes‑based systems.