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.
- Single-node Kubernetes (<200MB RAM)
- OCI-compliant, Helm-ready, CRD-friendly
- x86_64, ARM, ARM64 support
- Built-in Portainer Edge Agent integration flags
- Local path storage provisioner included
- Community support via GitHub Discussions
- Free forever
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.
- All KubeSolo OSS capabilities
- Centralised fleet management via Portainer
- Single pane across thousands of KubeSolo nodes
- Staged rollouts, scheduled updates, and rollback
- RBAC, SSO, and audit logging from Portainer
- Async Edge Agent: offline-safe operations
- Commercial support SLA options
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.
When not to use KubeSolo
If your devices have 1GB or more RAM, standard lightweight distributions are a better choice: they're CNCF-certified, more widely adopted, and have larger ecosystems. KubeSolo does not currently meet CNCF certification criteria due to the memory-footprint optimisations required to reach the <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, 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 optimisations required to reach <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: 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: 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.