KubeSolo Docs

1. Installation

System Requirements:

▪ OS: Any modern Linux distro

▪ Arch: x86_64, ARM, ARM64

▪ Memory: 200MB+

▪ Storage: Minimal disk required (local PVC only)

▪ Permission: sudo access is required

▪ Dependencies: ensure the libsqlite3-dev package is installed

Install Script (Recommended):

curl -sfL https://get.kubesolo.io | sudo sh -

This installs KubeSolo and starts the control plane with a default configuration.
💡 Note: The admin kubeconfig can be obtained under /var/lib/kubesolo/pki/admin/admin.kubeconfig


Advanced Installation:

KubeSolo supports the following command-line flags for the advanced usage:

--path (KUBESOLO_PATH): Path to the directory containing the kubesolo configuration files. Default: /var/lib/kubesolo
--portainer-edge-id (KUBESOLO_PORTAINER_EDGE_ID): Portainer Edge ID. Default: ""▪ --portainer-edge-key (KUBESOLO_PORTAINER_EDGE_KEY): Portainer Edge Key. Default: ""
--portainer-edge-async (KUBESOLO_PORTAINER_EDGE_ASYNC): Enable Portainer Edge Async Mode. Default: false
--local-storage (KUBESOLO_LOCAL_STORAGE): Enable local storage. Default: true
--debug (KUBESOLO_DEBUG): Enable debug logging. Default: false▪ --pprof-server (KUBESOLO_PPROF_SERVER): Enable pprof server for profiling. Default: false

For example, run the following to integrate with Portainer:

curl -sfL https://get.kubesolo.io | KUBESOLO_PORTAINER_EDGE_ID=${YOUR_EDGE_ID} KUBESOLO_PORTAINER_EDGE_KEY=${YOUR_EDGE_KEY} sudo -E sh

2. Configuration

Default Ingress Controller:

KubeSolo does not include a default Ingress controller. You may install one manually, such as the NGINX Ingress Controller, if required.

However, since KubeSolo is optimized for small-footprint environments like IoT and IIoT devices, it is recommended to use NodePort services instead to minimize resource consumption.

Networking:

KubeSolo leverages the default CNI plugins provided by containerd, namely bridge, host-local, portmap, and loopback, along with kube-proxy to enable both intra- and inter-cluster Kubernetes networking.

Storage:

By default, KubeSolo includes Rancher’s local-path-provisioner to support both static and dynamic PersistentVolume (PV) provisioning. If more advanced storage features are required, KubeSolo also supports full CSI (Container Storage Interface) drivers, including the option to install the Local Storage CSI driver.

RBAC:

Fully supported. Default roles can be customized using standard Kubernetes role and role bindings.

3. Known Limitations

▪ No clustering (by design)

▪ No multi-node HA

▪ No etcd or external datastore

4. Troubleshooting

KubeSolo won't start?

Check logs with:

sudo journalctl -u kubesolo

Pods stuck in pending?

Make sure your manifests don't reference nodeSelector or tolerations that exclude the local node.

Need help?

Ask the community on GitHub Discussions (coming soon).