Skip to content

Kubernetes (K3s)

What it is

K3s is a highly available, certified Kubernetes distribution designed for production workloads in resource-constrained environments like edge devices, IoT, and homelabs. It is developed by Rancher (now SUSE).

What problem it solves

It simplifies the operation of Kubernetes by bundling necessary components into a single, lightweight binary (~50MB) and automating common tasks like certificate rotation and storage provisioning.

Where it fits in the stack

Infrastructure / Deployment.

Typical use cases

  • Homelab Orchestration: Running containerized services (n8n, Paperless, etc.) with high availability.
  • Edge Computing: Deploying applications on low-power devices like Raspberry Pis.
  • Local Development: Testing Kubernetes manifests in a lightweight local cluster.

Strengths

  • Low Footprint: Minimal resource usage, making it ideal for home servers.
  • Easy Installation: Can be installed with a single command.
  • Production Grade: Fully CNCF certified Kubernetes distribution.

Limitations

  • Single Binary: While convenient, it differs slightly from "vanilla" Kubernetes in how some components are packaged.
  • Networking: Uses Flannel by default, which may need replacement for advanced networking requirements.

When to use it

  • For managing multi-container home automation stacks that require auto-scaling or self-healing.
  • When you want to learn Kubernetes without the overhead of a full enterprise distribution.

When not to use it

  • In extremely large enterprise environments where a managed service (EKS, GKE) or a full distribution (RKE, OpenShift) is preferred.

Getting started

Installation

The simplest way to install K3s on a Linux host:

curl -sfL https://get.k3s.io | sh -
# Check node status
sudo k3s kubectl get node

Deploying a Simple Workload

Create a file named whoami.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: whoami
spec:
  replicas: 1
  selector:
    matchLabels:
      app: whoami
  template:
    metadata:
      labels:
        app: whoami
    spec:
      containers:
      - name: whoami
        image: traefik/whoami
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: whoami
spec:
  ports:
  - port: 80
  selector:
    app: whoami

Apply the manifest:

sudo k3s kubectl apply -f whoami.yaml

Licensing and cost

  • Open Source: Yes (Apache 2.0).
  • Cost: Free.
  • Self-hostable: Yes.

Sources / References

Contribution Metadata

  • Last reviewed: 2026-05-13
  • Confidence: high