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
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
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:
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.
▪ No clustering (by design)
▪ No multi-node HA
▪ No etcd or external datastore
Make sure your manifests don't reference nodeSelector or tolerations that exclude the local node.
Ask the community on GitHub Discussions (coming soon).