k3d
What it is
k3d is a community-driven desktop tool for running k3s Kubernetes clusters inside Docker. It creates single-node or multi-node clusters for local development and can support code hot-reloading, a Tilt build-deploy-test cycle, and use as a service in Drone CI. Docker is required, while kubectl is used to interact with clusters. For k3d v5.x.x, the listed requirement is Docker 20.10.5 or newer with runc 1.0.0-rc93 or newer. Registries can be configured through registries.yaml, including authentication and certificates, and the documentation covers local registries managed by k3d. Services can be exposed with Ingress or NodePort by mapping container ports to the host; k3s integrations include CoreDNS, local-path-provisioner, Traefik, and the Klipper service load balancer. Installation options include release binaries, Homebrew, AUR, Chocolatey, Scoop, arkade, asdf, and Go. It runs on Linux, macOS, Windows, and self-hosted setups.
For and against
For
- Free plan with $0 price
- Creates single-node and multi-node clusters
- Supports Linux, macOS, and Windows
- Registry authentication and certificates are configurable
- Ingress and NodePort service exposure
Against
- Docker is required
- Not an official Rancher product
- Requires specified Docker and runc versions
- No free trial
The verdict
k3d provides a free way to create and manage k3s clusters in Docker across major desktop platforms. Its registry, service-exposure, and development workflow documentation make it suited to local Kubernetes work, provided Docker is available.
Who it suits
k3d suits developers who need local or CI k3s clusters in Docker. It is also relevant to users configuring registries, ingress, and local Kubernetes services.
Plans and prices
Free
Community driven project · sponsorships support development
Read 7 Oct 2026 · k3d.io
On the record
- Cluster configuration
- A registries.yaml file can configure registries for a cluster, and the configuration can include registry authentication and certificates.k3d.io · read 7 Oct 2026
- Cluster creation
- It creates single-node and multi-node k3s clusters in Docker, including for local Kubernetes development.k3d.io · read 7 Oct 2026
- Community status
- k3d is community-driven and is not an official Rancher (SUSE) product.k3d.io · read 7 Oct 2026
- Development and CI use
- The overview lists demo use cases including code hot-reloading, a build-deploy-test cycle using Tilt, and running k3d as a service in Drone CI.k3d.io · read 7 Oct 2026
- Docker version
- The overview says k3d v5.x.x requires at least Docker v20.10.5 with runc at least v1.0.0-rc93 to work properly.k3d.io · read 7 Oct 2026
- Ingress
- The service guide notes that k3s deploys Traefik as its default ingress controller and demonstrates accessing an Ingress through a mapped host port.k3d.io · read 7 Oct 2026
- Installation
- The maker lists installation options including GitHub release binaries, Homebrew, AUR, Chocolatey, Scoop, arkade, asdf, and Go.k3d.io · read 7 Oct 2026
- Kubernetes integrations
- The k3s features guide covers CoreDNS, local-path-provisioner, Traefik, and the Klipper service load balancer in k3d.k3d.io · read 7 Oct 2026
- Local registries
- The documentation describes creating and using local container image registries, including registries managed by k3d.k3d.io · read 7 Oct 2026
- Purpose
- k3d is a lightweight wrapper for running k3s, Rancher Lab’s minimal Kubernetes distribution, in Docker.k3d.io · read 7 Oct 2026
- Related tools
- The overview links to a VS Code extension for handling k3d clusters and a Linux graphical interface called k3x.k3d.io · read 7 Oct 2026
- Requirements
- Docker is required to use k3d, and kubectl is used to interact with the Kubernetes cluster.k3d.io · read 7 Oct 2026
- Service exposure
- The service guide documents exposing services through Ingress or NodePort by mapping container ports to the host.k3d.io · read 7 Oct 2026
- Support
- The overview directs users to the Rancher community Slack and its #k3d channel for discussion.k3d.io · read 7 Oct 2026