Register for our August 27th webinar: Why Kubernetes Docs Keep Losing You (And What We Did About It) →
Solutions

Single-node Kubernetes, reimagined for edge and embedded.

Ultra-lightweight, OCI-compliant Kubernetes built for constrained environments. No clustering. No etcd. Just what you need to run real workloads on real hardware, fast.

Open source and commercially supported

KubeSolo is fully open source at kubesolo.io. Portainer offers a commercially supported edition for organizations that need it.

KubeSolo OSS

Free and open source. Available at kubesolo.io. Install in seconds with a single curl command. Full access to all features, community-supported.

Get started at kubesolo.io

KubeSolo + Portainer

The same open-source KubeSolo runtime, paired with Portainer's operator control plane for centralized fleet management, commercial support, and enterprise governance across every edge node.

Talk to sales

Kubernetes was built for the cloud. KubeSolo was built for everything else.

Most Kubernetes distributions are trimmed-down versions of cloud platforms. None were purpose-built for devices with 512MB of RAM and a CF card for storage. KubeSolo is a hardened, single-node fork of K3s, with clustering removed, ingress simplified, and defaults tuned for the real constraints of industrial hardware.

Under 200MB RAM

Designed from the ground up for devices that cannot spare resources for clustering logic, multi-node orchestration, or etcd. Comfortably runs on 512MB devices, and manages its own cache release under memory pressure.

No networking dependency

Unlike worker node architectures, KubeSolo keeps the control plane on the device itself. Scheduling, updates, and reconciliation continue to function even when the site is offline or intermittently connected.

Full Kubernetes ecosystem

OCI-compliant, Helm-ready, and CRD-friendly. You get access to the full Kubernetes operator and tooling ecosystem, including off-the-shelf industrial software packages that require Kubernetes.

Any Linux, any architecture

Works on any modern Linux distribution across x86_64, ARM, and ARM64. Distribution-agnostic by design, tested on Ubuntu, Arch, Armbian, and Siemens Industrial OS.

Native Portainer integration

KubeSolo ships with built-in Portainer Edge Agent integration flags. Pass your Edge ID and Edge Key at install time and the node registers automatically with your Portainer control plane.

Storage included

Local path provisioner bundled by default for static and dynamic PV provisioning. Full CSI driver support available for environments that need it. NodePort recommended over ingress to minimize footprint.

Which Kubernetes runtime is right for your hardware?

KubeSolo is not trying to replace K3s or MicroK8s. It exists specifically for the hardware they cannot run on.

KubeSoloStandard lightweight distributions
K3s, MicroK8s
Memory targetUnder 200MB; runs on 512MB devices1GB or more recommended
Node modelSingle-node onlySingle or multi-node
High availability and clusteringNone, by designSupported
etcdNoneSupported
CNCF certifiedNot yet; engagement plannedYes
EcosystemFull OCI, Helm, and CRD supportLarger and more widely adopted
Built forConstrained edge and embedded hardwareGeneral-purpose clusters

When not to use KubeSolo

If your devices have 1GB or more RAM, standard lightweight distributions are a better choice: they are CNCF-certified, more widely adopted, and have larger ecosystems. KubeSolo does not currently meet CNCF certification criteria due to the memory-footprint optimizations required to reach the under-200MB target; we plan to engage with CNCF on this.

KubeSolo is also deliberately single-node. It has no multi-node HA, no clustering, and no etcd. If you need those things, use a different distribution.

Built for the devices you actually deploy

KubeSolo is purpose-built for industrial IoT hardware: factory gateways, embedded PLCs, retail kiosks, and single-board computers. Tested on real hardware in the field.

NVIDIA Jetson (Ubuntu)

ARM64 AI edge compute. Verified KubeSolo deployment for containerized inference workloads.

Siemens SIMATIC IOT2050

Industrial IoT gateway running Siemens Industrial OS. Factory-floor deployment target.

Raspberry Pi (Armbian Bookworm)

ARM IoT SBC. Verified on RPi CS5, ideal for sensor-adjacent edge deployments.

Zimaboard (Ubuntu)

x86_64 single-board server. Compact NAS/edge form factor with low power draw.

Intel Atom X5 (Arch Linux)

Low-power x86 embedded platform. Typical of industrial panel PCs and kiosk hardware.

Beckhoff, Phoenix Contact, Advantech

Compatible with Linux-capable PLCs and edge compute from major industrial automation vendors, including Beckhoff CX7000, PLCnext AXC F 1152, and Advantech compact edge series.

Up and running in one command

Standard install

Installs or upgrades KubeSolo and starts the control plane with a default configuration. The admin kubeconfig is available at /var/lib/kubesolo/pki/admin/admin.kubeconfig

Requires Linux, sudo access, curl, iptables, and libsqlite3-dev. Ensure no existing container engine (Docker, Podman, containerd) is installed before running.

Full documentation

Common questions

What exactly is KubeSolo built on?

KubeSolo is a hardened, single-node fork of K3s with clustering and HA logic removed, ingress simplified, and defaults retuned for resource-constrained environments. It is not a CNCF-certified distribution: the memory-footprint optimizations required to reach under 200MB mean it doesn't fully meet CNCF's current criteria. Portainer intends to engage with CNCF to address this.

Why use Kubernetes at the edge instead of Docker or Podman?

Docker and Podman are lighter and remain the right choice when absolute minimal resource use is the priority. But Kubernetes has become the universal standard in industrial IoT and Industry 4.0, and many off-the-shelf industrial software packages now require it. KubeSolo gives you Kubernetes compatibility on the hardware where Docker would otherwise be your only option.

Why not run the device as a worker node connected to a cloud control plane?

Worker nodes depend on a remote control plane. When edge locations experience intermittent or intentional loss of connectivity, the kubelet can restart containers but all scheduling, updates, and reconciliation stop. KubeSolo keeps the control plane on-device, so automation continues to function even when the site is offline.

How does KubeSolo differ from KubeEdge?

KubeEdge requires edge devices to act as worker nodes within a centrally managed cluster, which is not suitable for environments with unreliable connectivity. KubeSolo provides fully autonomous, self-contained single-node clusters explicitly designed for offline or standalone deployments.

How do I manage multiple KubeSolo instances centrally?

KubeSolo is single-node by design. To manage many KubeSolo instances, hundreds of edge devices for example, you need a multi-cluster management solution. Portainer provides centralized visibility, configuration, and control over each KubeSolo instance through a single interface, with the Async Edge Agent handling offline-safe operations.

What tools can I use to manage KubeSolo locally?

KubeSolo exposes a standard Kubernetes API, so any standard Kubernetes client works: kubectl, VSCode, OpenLens, Headlamp, K9s, or Portainer. You can even connect ArgoCD remotely via the Kubernetes API. For fleet-scale management across many devices, Portainer is the recommended solution.

Free and open source. Commercially supported.

KubeSolo OSS is available now at kubesolo.io, one curl command to install. For organizations that need commercial support, fleet management, and enterprise governance, talk to Portainer.