Repolode
k3s-io

k3s-io/k3s

Lightweight, CNCF-conformant Kubernetes distribution packaged as a single binary under 100 MB, aimed at edge, IoT, CI and development.

Stars
34,239
Forks
2,765
Open issues
97
Last commit
5 hours ago

What is it?

K3s is a Kubernetes distribution that ships the control plane and node components as one binary of less than 100 MB. It keeps the upstream Kubernetes API and is conformant, but reduces memory use by running many components in a single process and by removing in-tree storage drivers and cloud providers.

By default K3s uses SQLite as its datastore, with options for embedded etcd, MySQL, MariaDB and Postgres through Kine. It bundles containerd and runc, Flannel for CNI, CoreDNS, Traefik for ingress, a service load balancer, kube-router for network policy, Metrics Server, and a local-path volume provisioner. Installation is done with a single script that also sets up a systemd or openrc service, and worker nodes join with a server URL and token.

The project is maintained as a distribution that tracks upstream Kubernetes releases, with versions in the form v1.x.y+k3sN.

Key features

  • 01Ships Kubernetes components as a single binary under 100 MB.
  • 02Uses SQLite by default and supports etcd, MySQL, MariaDB and Postgres.
  • 03Bundles containerd, Flannel, CoreDNS, Traefik and Metrics Server.
  • 04Installs with one script that registers a systemd or openrc service.
  • 05Runs on x86_64, armhf, arm64 and s390x.

Use cases

  • Running Kubernetes on edge devices or IoT hardware with limited memory.
  • Spinning up disposable clusters for CI pipelines and local development.
  • Deploying on ARM machines where a full Kubernetes install is too heavy.

Quick start

  1. 1

    Run the official install script from the README

  2. 2

    Check the cluster nodes with kubectl

    sudo kubectl get nodes

Things to know

  • The install script is piped into a shell, so review it before running on production hosts.
  • Supported architectures listed for manual download are x86_64, armhf, arm64 and s390x.

Topics

FAQ

What is k3s?
Lightweight, CNCF-conformant Kubernetes distribution packaged as a single binary under 100 MB, aimed at edge, IoT, CI and development. K3s is a Kubernetes distribution that ships the control plane and node components as one binary of less than 100 MB. It keeps the upstream Kubernetes API and is conformant, but reduces memory use by running many components in a single process and by removing in-tree storage drivers and cloud providers.
Is k3s free to use? What license does it have?
k3s is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is k3s still maintained?
Actively maintained. The last commit to k3s was on Oct 22, 2026.
What can I use k3s for?
Running Kubernetes on edge devices or IoT hardware with limited memory. Spinning up disposable clusters for CI pipelines and local development. Deploying on ARM machines where a full Kubernetes install is too heavy.
How do I install k3s?
Run the official install script from the README Check the cluster nodes with kubectl: sudo kubectl get nodes
Where can I get k3s?
The source code and installation instructions are on GitHub: https://github.com/k3s-io/k3s

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects