k0s — Zero Friction Kubernetes Distribution
Mirantis' single-binary Kubernetes distro with etcd, containerd, and CNI baked in. From a Raspberry Pi edge cluster to FIPS-validated production HA.
What it is
k0s is a Kubernetes distribution by Mirantis that ships as a single binary with etcd, containerd, and CNI networking included. There is nothing to install separately. It runs on any Linux host, from a Raspberry Pi edge node to a multi-node production cluster with high availability. k0s is CNCF certified and supports FIPS-validated deployments.
k0s is designed for platform teams, edge computing deployments, and anyone who wants a minimal-footprint Kubernetes cluster without the complexity of kubeadm or managed services.
How it saves time or tokens
Setting up Kubernetes with kubeadm requires installing container runtimes, configuring etcd, setting up networking, and managing certificates separately. k0s eliminates all of that. A single curl | sh installs everything, and k0s install controller --single gives you a working cluster in under a minute. For edge deployments where resources are limited, k0s's minimal footprint means you can run Kubernetes on hardware that would struggle with other distributions.
How to use
- Install k0s on the first control plane node:
curl -sSLf https://get.k0s.sh | sudo sh
sudo k0s install controller --single
sudo k0s start
- Get the kubeconfig:
sudo k0s kubeconfig admin > ~/.kube/config
kubectl get nodes
- For a multi-node cluster, generate a join token and add workers:
sudo k0s token create --role worker > worker-token
# On worker node:
sudo k0s install worker --token-file worker-token
sudo k0s start
Example
Deploying a simple application on k0s:
# After k0s is running
kubectl create deployment nginx --image=nginx:alpine --replicas=3
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get svc nginx
# Access via NodePort on any cluster node
k0s works with standard kubectl and all Kubernetes resources. There is no k0s-specific API to learn.
Related on TokRepo
- DevOps tools — Browse Kubernetes and infrastructure tools
- Self-hosted tools — Explore self-hosted platform solutions
Common pitfalls
- Using
--singlemode in production. The single-node mode is convenient for development but provides no high availability. Production clusters should use separate controller and worker nodes. - Not opening required firewall ports between nodes. k0s needs port 6443 (API), 4789 (VXLAN), and 10250 (kubelet). Blocked ports cause nodes to fail joining.
- Forgetting that k0s manages its own containerd instance. If you already have containerd installed, k0s uses its bundled version, not your system installation. This avoids conflicts but can be confusing.
- Starting with an overly complex configuration instead of defaults. Begin with the minimal setup, verify it works, then customize incrementally. This approach catches configuration errors early and keeps troubleshooting straightforward.
Frequently Asked Questions
Both are lightweight Kubernetes distributions. k0s ships as a single binary with etcd included (not SQLite), supports FIPS compliance, and is backed by Mirantis. k3s by Rancher uses SQLite by default and focuses on IoT and edge. k0s positions itself for both edge and enterprise production workloads.
Yes. k0s supports multi-controller HA setups with etcd. You deploy multiple control plane nodes and put a load balancer in front. The built-in etcd handles leader election and state replication.
Yes. k0s supports ARM64 and has a minimal resource footprint. It runs on Raspberry Pi 4 and newer models. The single-binary design means there are no complex dependency chains to manage on resource-constrained hardware.
Yes. k0s is a certified Kubernetes distribution, meaning it passes the CNCF conformance tests and is fully compatible with the Kubernetes API and ecosystem tools.
k0s provides an autopilot controller that handles rolling upgrades across the cluster. You apply an upgrade plan as a Kubernetes resource, and the autopilot coordinates the upgrade node by node without downtime.
Citations (3)
- k0s GitHub— k0s is a single-binary Kubernetes distribution by Mirantis
- k0s Documentation— CNCF certified Kubernetes distribution
- k0s Autopilot Docs— Autopilot for rolling cluster upgrades
Related on TokRepo
Discussion
Related Assets
Conda — Cross-Platform Package and Environment Manager
Install, update, and manage packages and isolated environments for Python, R, C/C++, and hundreds of other languages from a single tool.
Sphinx — Python Documentation Generator
Generate professional documentation from reStructuredText and Markdown with cross-references, API autodoc, and multiple output formats.
Neutralinojs — Lightweight Cross-Platform Desktop Apps
Build desktop applications with HTML, CSS, and JavaScript using a tiny native runtime instead of bundling Chromium.