Skip to main content
Account

k0s

k0s is a conformant, unmodified Kubernetes distribution shipped as one binary. Learn how to install it, use k0sctl, and when to choose it over k3s.

Status
Stable
Category
Orchestration & Management
Subcategory
Scheduling & Orchestration
License
Apache-2.0
Technology matrix Skip Just not for me See the matrix

k0s is a conformant Kubernetes distribution from Mirantis that ships as a single static Go binary containing the API server, controller manager, scheduler, kubelet, kube-proxy, and an embedded etcd. You download one file, run k0s install controller or k0s install worker, and you have a cluster — no package manager, no Docker, no host-side systemd fleet of components.

The distinguishing design choices versus k3s: k0s uses vanilla upstream Kubernetes with zero patches, uses etcd by default for multi-node clusters, and falls back to SQLite via kine for single-node installs while also supporting MySQL and PostgreSQL. It also supports a “controller-only” mode where control-plane nodes refuse to run workloads and ships k0sctl, a separate tool that takes a YAML inventory of SSH hosts and performs zero-downtime install, upgrade, and rollback across the cluster, which is closer to a real lifecycle manager than what k3s offers out of the box. CNIs (Kube-router default, Calico supported), CSI, and runtime are all pluggable.

It is aimed at the same space as k3s, MicroK8s, and Talos: edge, bare metal, air-gapped, and IoT. Rough rule of thumb: choose k3s if you want the smallest possible footprint and don’t mind the upstream modifications; choose k0s if you want unmodified Kubernetes in a single binary with fleet-style lifecycle tooling.

k0s recordings

3 recordings, newest first

Scheduling & Orchestration

Email signup loads here. You can also manage email preferences in account settings.

Build k0s? I'll show you where engineers get stuck with it → Back free content for the community →