Skip CNCF Sandbox Orchestration & Management / Scheduling & Orchestration

Technology Guide

k0s

License: Apache-2.0

k0s Logo

Field Guide

Complete Guide

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.

CNCF Project

Cloud Native Computing Foundation

Accepted: 2025-01-19

Community

Join the conversation

No articles found for k0s yet. Check back soon!