Portainer Industries
Open source, by Portainer

Single-node Kubernetes, reimagined for edge and embedded.

Ultra-lightweight, OCI-compliant Kubernetes built for constrained environments. No clustering, no etcd, just what is needed to run real workloads on the hardware that industrial sites actually deploy.

Runtime profile
Memory Under 200MB RAMComfortably runs on 512MB devices measured
Arch x86_64, ARM, ARM64Any modern Linux distribution portable
API OCI-compliantHelm-ready and CRD-friendly standard
Fleet Portainer Edge integrationBuilt-in agent flags at install time optional
KubeSolo is deliberately single-node, with no multi-node HA, no clustering and no etcd; if those are requirements, a different distribution is the right answer.
Why KubeSolo exists

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

Most Kubernetes distributions are trimmed-down versions of cloud platforms, and none of them were purpose-built for a device 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 retuned for the real constraints of industrial hardware. The reason that matters in an industrial context is that Kubernetes has become the expected packaging target for industrial software, so an operator running constrained hardware would otherwise be forced onto Docker regardless of what the vendor ships.

Under 200MB RAM

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

No networking dependency

Unlike a worker node architecture, KubeSolo keeps the control plane on the device itself, so 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, which gives access to the 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, and is distribution-agnostic by design, having been tested on Ubuntu, Arch, Armbian, and Siemens Industrial OS.

Native Portainer integration

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

Storage included

A local path provisioner is bundled by default for static and dynamic persistent volume provisioning, with full CSI driver support available; NodePort is recommended over ingress to minimize footprint.

Honest comparison

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, and the decision should be made on the memory available on the device rather than on preference.

DistributionTypical RAM usageBest for
KubeSolo~200MB512MB devices and below: IoT sensors, PLCs, embedded gateways
k3s~400MB1GB and above: general edge, Raspberry Pi 4 and later
k0s~400MB1GB and above: lean servers, developer workstations
MicroK8s~2GBWell-resourced edge or developer machines
Standard distributionsVariableCloud VMs, on-premises servers, multi-node clusters

If your devices have 1GB or more of RAM, standard lightweight distributions are a better choice, because 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 sub-200MB target, and we plan to engage with CNCF on this.

KubeSolo market placement against other Kubernetes distributions
Where KubeSolo sits relative to the other distributions, by device class.
Tested hardware

Built for the devices you actually deploy.

KubeSolo is purpose-built for industrial IoT hardware including factory gateways, embedded PLCs, retail kiosks and single-board computers, and the platforms below have been tested on real hardware in the field.

Tested

NVIDIA Jetson (Ubuntu)

ARM64 AI edge compute, with verified KubeSolo deployment for containerized inference workloads.

Tested

Siemens SIMATIC IOT2050

Industrial IoT gateway running Siemens Industrial OS, as a factory-floor deployment target.

Tested

Raspberry Pi (Armbian Bookworm)

ARM IoT single-board computer, verified on RPi CS5, suited to sensor-adjacent edge deployments.

Tested

Zimaboard (Ubuntu)

x86_64 single-board server in a compact NAS and edge form factor with low power draw.

Tested

Intel Atom X5 (Arch Linux)

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

Compatible

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 the Advantech compact edge series.

Two editions

Open source, with a commercially supported path.

KubeSolo is fully open source at kubesolo.io, and Portainer offers a commercially supported edition for organizations that need fleet management, governance and a support SLA across the estate.

Community edition

KubeSolo OSS

Free and open source, installed with a single curl command, with full access to all features and community support.

  • Single-node Kubernetes under 200MB RAM
  • OCI-compliant, Helm-ready, CRD-friendly
  • x86_64, ARM and ARM64 support
  • Built-in Portainer Edge Agent integration flags
  • Local path storage provisioner included
  • Community support via GitHub Discussions
  • Free forever
Commercial edition, via Portainer

KubeSolo with Portainer

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

  • All KubeSolo OSS capabilities
  • Centralized fleet management via Portainer
  • A single view across thousands of KubeSolo nodes
  • Staged rollouts, scheduled updates, and rollback
  • RBAC, SSO, and audit logging from Portainer
  • Async edge agent for offline-safe operations
  • Commercial support SLA options
Installation

Up and running in one command.

The standard install adds or upgrades KubeSolo and starts the control plane with a default configuration, and the admin kubeconfig is written to /var/lib/kubesolo/pki/admin/admin.kubeconfig. It requires Linux with sudo access, curl, iptables and libsqlite3-dev, and no existing container engine should be installed on the device before running it, so a host already running Docker, Podman or containerd needs to be cleared first.

KubeSolo installation output on a terminal
Install output on a constrained device.
Common questions

Frequently asked 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, because the memory-footprint optimizations required to reach the sub-200MB target mean it does not fully meet the current CNCF criteria, and 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. Kubernetes has nonetheless become the standard packaging target in industrial IoT and Industry 4.0, and many off-the-shelf industrial software packages now require it, so KubeSolo provides Kubernetes compatibility on hardware where Docker would otherwise be the 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, so when an edge location experiences intermittent or intentional loss of connectivity the kubelet can restart containers but scheduling, updates and reconciliation all stop. KubeSolo keeps the control plane on-device, which is why automation continues to function while 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 designed explicitly for offline or standalone deployment.

How do I manage many KubeSolo instances centrally?

KubeSolo is single-node by design, so managing hundreds of edge devices requires a multi-cluster management solution; Portainer provides centralized visibility, configuration and control over each 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 kubectl, VSCode, OpenLens, Headlamp, K9s and Portainer all work, and ArgoCD can be connected remotely via the Kubernetes API. For fleet-scale management across many devices, Portainer is the recommended approach.

Next step

Ready to govern your industrial edge?

Start free with up to 3 nodes, or talk to our industrial team about your OT deployment.