Moby is Docker's open-source container project, offering modular components for building, running and orchestrating container-based systems.
k0sproject/k0s
k0s is a single-binary, all-inclusive Kubernetes distribution that aims to make cluster setup and upgrades simple on any Linux host.
- Stars
- 6,539
- Forks
- 534
- Open issues
- 247
- Last commit
- 11 hours ago
What is it?
k0s is an open source Kubernetes distribution packaged as a single binary with no host OS dependencies beyond the Linux kernel. It bundles the components needed to build a cluster, including a container runtime, networking, CoreDNS, Konnectivity and Metrics Server, so a working cluster can be bootstrapped with one command on a single node or across many.
The project targets cloud instances, bare metal, and edge or IoT devices, and advertises modest requirements of 1 vCPU and 1 GB RAM. It supports multiple installation methods, including single-node, multi-node with k0sctl, airgap, and Docker, along with upgrade and backup/restore workflows. Control plane isolation is the default, and clusters can scale from one node to highly available setups.
k0s supports pluggable CNI and CRI components, with Kube-Router as the default network plugin and containerd as the default runtime. Datastores include etcd, SQLite, MySQL and PostgreSQL, and the binary runs on x86-64, ARM64, ARMv7 and RISC-V.
Key features
- 01Single binary with no host OS dependencies beyond the kernel
- 02Certified, upstream Kubernetes with multiple install methods including k0sctl and airgap
- 03Automated upgrades and backup/restore via k0sctl
- 04Pluggable CNI and CRI, with Kube-Router and containerd as defaults
- 05Supports etcd, SQLite, MySQL and PostgreSQL datastores
- 06Runs on x86-64, ARM64, ARMv7 and RISC-V
Use cases
- Bootstrapping a Kubernetes cluster on bare metal or VMs with minimal setup
- Running Kubernetes on resource-constrained edge or IoT devices
- Deploying clusters in air-gapped environments
- Operating multi-node clusters with automated upgrades
Quick start
- 1
Follow the Quick Start Guide to create a single-node cluster
- 2
Build the k0s binary from source (requires Docker)
make - 3
Run the basic smoke test after building (requires a local Go installation)
make check-basic
Things to know
- The license is not clearly identified in the metadata, so check the repository's license terms before use.
- Building from source requires Docker, and the smoke tests require a local Go installation.
Topics
FAQ
- What is k0s?
- k0s is a single-binary, all-inclusive Kubernetes distribution that aims to make cluster setup and upgrades simple on any Linux host. k0s is an open source Kubernetes distribution packaged as a single binary with no host OS dependencies beyond the Linux kernel. It bundles the components needed to build a cluster, including a container runtime, networking, CoreDNS, Konnectivity and Metrics Server, so a working cluster can be bootstrapped with one command on a single node or across many.
- Is k0s free to use? What license does it have?
- k0s is open source under the Other license. Check the license terms before using it in commercial products.
- Is k0s still maintained?
- Actively maintained. The last commit to k0s was on Oct 19, 2026.
- What can I use k0s for?
- Bootstrapping a Kubernetes cluster on bare metal or VMs with minimal setup Running Kubernetes on resource-constrained edge or IoT devices Deploying clusters in air-gapped environments Operating multi-node clusters with automated upgrades
- How do I install k0s?
- Follow the Quick Start Guide to create a single-node cluster Build the k0s binary from source (requires Docker): make Run the basic smoke test after building (requires a local Go installation): make check-basic
- Where can I get k0s?
- The source code and installation instructions are on GitHub: https://github.com/k0sproject/k0s
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Helm is the package manager for Kubernetes, installing and managing apps packaged as reusable Charts.
A self-hosted continuous delivery and deployment platform for containerized apps, with version management across Docker, Podman and Kubernetes.
Runs Kubernetes clusters as Docker containers using vCluster, a lighter alternative to KinD with pause/resume and built-in load balancers.
A desktop Kubernetes client built with Tauri and Rust that reads your kubeconfig and derives status the way kubectl does.
A collection of real DevOps, SRE and cloud engineering interview questions, organized by company and role.