---
title: "K3s: Lightweight Kubernetes for Dev and Edge"
description: "K3s from Rancher Labs is Kubernetes in under 100 MB. Ideal for local development, CI/CD, and edge computing. A first field report."
keywords: "K3s, Kubernetes, Rancher, Edge Computing, Lightweight, Container"
url: "https://encircle360.com/en/blog/k3s-lightweight-kubernetes"
language: "en"
type: "article"
date: "2019-04-08"
reading_time_minutes: 5
categories: ["Cloud Native"]
image: "https://cms.encircle360.com/assets/2437fccc-c87b-47a2-b46f-93a2eaa5b633?width=1200&quality=80&format=webp"
author:
  name: "Patrick Hütter"
  role: "Founder & Software Architect"
  company: "encircle360 GmbH"
  url: "https://encircle360.com/en/blog?author=patrick-huetter"
  linkedin: "https://www.linkedin.com/in/patrickhuetter/"
publisher:
  name: "encircle360 GmbH"
  url: "https://encircle360.com"
  email: "hello@encircle360.com"
  phone: "+49 214 736999-80"
  address: "Petersbergstraße 72, 51375 Leverkusen, DE"
  linkedin: "https://www.linkedin.com/company/encircle360"
alternates:
  de: "https://encircle360.com/de/blog/k3s-leichtgewichtiges-kubernetes"
citation: "Patrick Hütter (encircle360 GmbH): \"K3s: Lightweight Kubernetes for Dev and Edge\", 2019-04-08, https://encircle360.com/en/blog/k3s-lightweight-kubernetes"
---

# K3s: Lightweight Kubernetes for Dev and Edge

_By **Patrick Hütter**, Founder & Software Architect at [encircle360 GmbH](https://encircle360.com) · 8 April 2019 · 5 min read · Categories: Cloud Native_

> Rancher Labs has released K3s, a Kubernetes distribution that fits in under 100 MB. We tested it and see great potential for development environments and edge scenarios.

## Kubernetes in Under 100 Megabytes

Kubernetes is powerful, but that power comes at a price: a full cluster requires etcd, kube-apiserver, kube-scheduler, kube-controller-manager, and a whole host of additional components. For production environments in the cloud, that's acceptable. For local development, CI/CD pipelines, or edge scenarios on resource-constrained hardware, it's simply too much.

That's exactly the problem Rancher Labs addressed. About six weeks ago, in February 2019, K3s was released -- a certified Kubernetes distribution that comes as a single binary under 40 MB and can be installed with a single command. The name says it all: if Kubernetes with its ten letters is abbreviated as K8s, then the slimmed-down variant with five letters is K3s -- half the size, half the complexity.

We've been testing K3s over the past few weeks on several development machines and a handful of virtual machines. Here is our first field report.

## What K3s Does Differently

K3s is not a fork of Kubernetes, nor is it a proprietary orchestration framework. It is Kubernetes -- certified by the CNCF and fully API-compatible. The difference lies in what Rancher Labs has removed and replaced.

**SQLite instead of etcd:** The most notable change concerns the datastore. Instead of the distributed key-value store etcd, K3s uses SQLite as its default backend. For single-node setups and smaller clusters, this is perfectly adequate and saves significant resources and complexity. If you prefer etcd or MySQL as a backend, you can still configure that.

**Containerd instead of Docker:** K3s ships with containerd as the container runtime built in. Docker is not needed and not required. This reduces overhead, but it means that `docker ps` on the host won't show K3s containers. Instead, you work with `crictl` or directly with `kubectl`.

**Single binary:** All Kubernetes components -- API server, scheduler, controller manager, and kubelet -- are bundled into a single binary. No separate setup of individual services, no complex certificate management during bootstrapping. One binary, one command, one running cluster.

**Removed ballast:** Cloud provider integrations (AWS, Azure, GCP), deprecated APIs, and non-standard storage drivers have been removed. What remains is a lean Kubernetes core that does what you actually need on local hardware or at the edge.

## Installation: A Single Command

Installing K3s is almost irritatingly simple. On a Linux system, all you need is:

```bash
curl -sfL https://get.k3s.io | sh -
```

That's it. After a few seconds, a complete Kubernetes cluster is running. The K3s server process starts automatically as a systemd service, and `kubectl` is included out of the box.

You check the cluster status as usual:

```bash
# Cluster-Info abfragen
sudo kubectl cluster-info

# Nodes anzeigen
sudo kubectl get nodes
```

The output looks familiar -- after all, it's standard Kubernetes:

```
NAME        STATUS   ROLES    AGE   VERSION
my-host     Ready    master   30s   v1.13.5+k3s.1
```

The `sudo` is needed because K3s stores the kubeconfig by default at `/etc/rancher/k3s/k3s.yaml`. Alternatively, you can copy the file to your own `~/.kube/` directory and set the `KUBECONFIG` environment variable.

## First Workload: Deploying nginx

To verify that the cluster actually works, we deploy a simple nginx web server:

```bash
# Deployment erstellen
sudo kubectl create deployment nginx --image=nginx

# Auf drei Replicas skalieren
sudo kubectl scale deployment nginx --replicas=3

# Service vom Typ NodePort erstellen
sudo kubectl expose deployment nginx --port=80 --type=NodePort
```

A look at the running pods:

```bash
sudo kubectl get pods -o wide
```

```
NAME                     READY   STATUS    RESTARTS   AGE
nginx-65f88748fd-2k7jm   1/1     Running   0          15s
nginx-65f88748fd-8xb4p   1/1     Running   0          10s
nginx-65f88748fd-wqnzl   1/1     Running   0          10s
```

Three pods, all Running, within seconds. On a conventional Kubernetes cluster, just setting up the cluster alone would have taken longer than this entire deployment.

You can find the assigned NodePort via:

```bash
sudo kubectl get services
```

The service is then accessible at `http://localhost:<NodePort>`. Everything behaves exactly as you'd expect from Kubernetes -- because it is Kubernetes.

## Comparison with Minikube and Docker Desktop

If you've been developing locally with Kubernetes, you probably know Minikube or the Kubernetes built into Docker Desktop. How does K3s compare?

**Minikube** creates a full virtual machine with a Kubernetes cluster inside. That works reliably but comes with the overhead of a VM: several gigabytes of RAM allocation, longer startup times, and an additional layer of abstraction. K3s runs directly on the host or in a minimal container and starts in seconds rather than minutes.

**Docker Desktop Kubernetes** is convenient but tied to Docker Desktop and limited to macOS and Windows. It also uses a VM under the hood and requires significantly more resources than K3s.

K3s has a clear advantage when it comes to startup speed and resource consumption. However, K3s runs natively only on Linux. On macOS or Windows, you need a Linux VM -- which partially negates the resource advantage. For Linux-based development machines and CI servers, though, K3s is the leaner alternative.

## Where K3s Truly Shines

Beyond local development, we see three scenarios where K3s fully realizes its potential.

**CI/CD Pipelines:** If you want to test Kubernetes manifests, Helm Charts, or operators, you need a quickly available cluster. K3s can be spun up in a CI pipeline within seconds, tests run, and then everything is torn down again. No waiting for cluster provisioning, no cloud costs.

**Edge Computing:** On devices with limited memory and processing power -- industrial controllers, IoT gateways, remote locations -- a full Kubernetes cluster is unrealistic. K3s runs with 512 MB of RAM and a single CPU core. This opens up Kubernetes-based deployments in places where they were previously unthinkable.

**Raspberry Pi:** K3s supports ARM architectures. A Kubernetes cluster made of Raspberry Pis -- as a learning environment, home lab, or for specific use cases -- is now seriously feasible. Not just as a toy, but with a certified Kubernetes distribution.

## Limitations and Open Questions

K3s is only a few weeks old, and that shows in some areas. Documentation is still thin. The community is growing fast, but there are few experience reports for edge cases. High-availability setups with multiple server nodes are currently not officially supported -- for production environments with failover requirements, that is a real obstacle.

The question of upgrades and lifecycle management also remains open. With such a young distribution, there is simply no track record for how updates work in practice and what pitfalls may arise. Anyone deploying K3s in near-production environments today should be aware that they are an early adopter.

## Conclusion

K3s solves a real problem: Kubernetes has been too heavyweight for many use cases beyond the cloud. Local development, CI/CD, and edge computing needed a lighter alternative -- and with K3s, Rancher Labs delivers exactly that. The CNCF certification ensures that it is real Kubernetes and not an incompatible proprietary solution.

For our daily work, we see K3s primarily as a tool for development and test environments. In CI pipelines, it is already replacing heavier alternatives. Whether and when K3s becomes viable for production workloads depends on how quickly Rancher Labs addresses the open issues -- particularly high availability and stable upgrade management.

If you use Kubernetes or plan to, you should keep K3s on your radar. The barrier to entry could not be lower: a Linux system, one command, and thirty seconds of patience. After that, you have a complete cluster that behaves exactly like any other Kubernetes. There's hardly an easier way to experiment with Kubernetes.

---

## About the author

**Patrick Hütter** — Founder & Software Architect, encircle360 GmbH

Software architect, engineer and entrepreneur. Patrick has been building products and platforms for over a decade — from enterprise backends and cloud-native infrastructure to AI-powered applications. As founder of encircle360, he combines deep technical expertise with entrepreneurial vision, driving open source projects that create real impact.

[LinkedIn](https://www.linkedin.com/in/patrickhuetter/) · hello@encircle360.com

---

## About encircle360 GmbH

encircle360 is an owner-led software and AI company based in Leverkusen, Germany. We are a partner for professional software development and digital transformation — from discovery & strategy through product development and artificial intelligence to venture building.

- **Services:** [Discovery & Strategy](https://encircle360.com/en/services/discovery-strategy) · [Product Development](https://encircle360.com/en/services/product-development) · [Venture Building](https://encircle360.com/en/services/venture-building) · [Artificial Intelligence](https://encircle360.com/en/services/artificial-intelligence)
- **Contact:** hello@encircle360.com · +49 214 736999-80 · [encircle360.com](https://encircle360.com)
- **Address:** Petersbergstraße 72, 51375 Leverkusen, Germany
- **Social:** [LinkedIn](https://www.linkedin.com/company/encircle360) · [Xing](https://www.xing.com/pages/encircle360gmbh) · [X](https://x.com/encircle360com)

Source: [K3s: Lightweight Kubernetes for Dev and Edge](https://encircle360.com/en/blog/k3s-lightweight-kubernetes) — © encircle360 GmbH. When using or summarising this content, please credit encircle360 GmbH and link back to https://encircle360.com/en/blog/k3s-lightweight-kubernetes.

Every page of this website is also available as Markdown: append `.md` to the URL or send the header `Accept: text/markdown`. Index for agents: https://encircle360.com/llms.txt
