Installation
This guide will help you install k0da on your system.
Installation Methods
Method 1: Download Pre-built Binaries (Recommended)
Download the latest release from GitHub:
# Download for Linux (AMD64)
curl -LO https://github.com/makhov/k0da/releases/latest/download/k0da-linux-amd64
# Download for macOS (ARM64)
curl -LO https://github.com/makhov/k0da/releases/latest/download/k0da-darwin-arm64
# Download for macOS (AMD64)
curl -LO https://github.com/makhov/k0da/releases/latest/download/k0da-darwin-amd64
# Download for Windows
curl -LO https://github.com/makhov/k0da/releases/latest/download/k0da-windows-amd64.exe
Make it executable and move to your PATH:
Method 2: Build from Source
If you prefer to build from source or want the latest development version:
# Clone the repository
git clone https://github.com/makhov/k0da.git
cd k0da
# Build the binary
make build
# Install to /usr/local/bin (optional)
sudo mv k0da-* /usr/local/bin/k0da
Method 3: Using Go Install
Install directly using Go:
Note
Make sure your $GOPATH/bin is in your $PATH to use k0da directly.
Verify Installation
After installation, verify that k0da is working correctly:
You should see output similar to:
Container Runtime Setup
Docker
Install Docker following the official Docker installation guide.
Test your Docker installation:
Podman
Install Podman following the official Podman installation guide.
Rootless Podman is supported. k0da detects a rootless runtime and configures the
node for it automatically: the kubelet is started with
--feature-gates=KubeletInUserNamespace=true so it tolerates running in a user
namespace, and a containerd drop-in sets restrict_oom_score_adj = true so runc
does not try to lower oom_score_adj, which a user namespace forbids. Without
these the kubelet crash-loops on /dev/kmsg and every pod sandbox fails.
If you pass your own --kubelet-extra-args, k0da leaves it alone — include
--feature-gates=KubeletInUserNamespace=true yourself or the kubelet will not
start.
A rootful machine also works if you prefer one:
Test your Podman installation:
kubectl Installation
Install kubectl to interact with your k0da clusters:
# macOS (using Homebrew)
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/
# Windows (using Chocolatey)
choco install kubernetes-cli
Verify kubectl installation:
Next Steps
Now that you have k0da installed, proceed to the Quick Start Guide to create your first cluster!
Troubleshooting
Common Issues
"k0da: command not found"
Ensure the k0da binary is in your PATH. Check with:
Docker/Podman Permission Issues
Ensure your user is in the docker group (Linux) or Docker Desktop is running (macOS/Windows):
Go Build Issues
Ensure you have Go 1.27+ installed:
If you need to update Go, download it from golang.org.
For more help, check the CLI Reference or create an issue on GitHub.