Requirements
To ensure a smooth and fully functional installation of the NuvlaEdge (NE) software, please make sure you comply with the following system requirements.
OS Requirements
The NuvlaEdge software is compliant with any OS that officially and fully supports Docker or Kubernetes. We recommend one of the following:
- Ubuntu
- CentOS
- Debian (and Debian variants like Raspbian and Raspberry Pi OS)
Other Docker and Kubernetes compliant Linux distributions should also work, but the NuvlaEdge functionality will be subject to the level of Docker and Kubernetes support the OS provides.
Functionalities like the automatic discovery and categorization of peripherals are not guaranteed for macOS and Windows.
Hardware Requirements
In order to install the NuvlaEdge and ensure its smooth execution over time, your device should have at least:
- 512MB of RAM
- 2GB of free disk space
- Supported CPU architectures: AArch32, AArch64 and x86_64
If you are looking at an application with constrained hardware, especially in terms of memory size, please get in touch. Some components in the NuvlaEdge architecture are optional and can be removed to save memory. Of course, it’s a tradeoff.
Please remember that you should leave enough memory to host the apps that will be running on the edge device.
Software Requirements
Before you can install NuvlaEdge, please make sure you have a Container Orchestration Engine (COE) installed along with the COE specific application deployment tools.
For Docker-based edge device use:
- Docker Engine (version 18 or higher),
docker
CLI withcompose
command. Typically, installed along with Docker Engine.
For Kubernetes-based edge device:
- one of the Kubernetes distributions (e.g. k3s, k0s , k8s) and a container runtime implementing the Kubernetes CRI (e.g. containerd, CRI-O) recommended by the selected Kubernetes distribution.
- Helm
Prerequisites when running on k8s distribution
-
When the k8s distribution of Kubernetes is used, please ensure NuvlaEdge runs on a control-plane node. Therefore, before the installation ensure the selected control-plane node is schedulable (i.e. it needs to be untainted).
-
To collect telemetry data of the containers running on the Kubernetes cluster, NuvlaEdge requires kubernetes metrics server up and running. While
k3s
ork0s
distributions provide the metrics server by default, this is not the case fork8s
. Please install the metrics server following the requirements and procedure provided here. In case you do not want to use--kubelet-insecure-tls
for communication from the metrics server to kubelet, you can follow the steps below to provide a valid cert for kubelet.
# Provide the API server cert/key to the kubelet configuration so that the correct
# CA and SANs are present in the server cert/key:
cd /var/lib/kubelet/
mv kubelet.crt kubelet.crt.bak
mv kubelet.key kubelet.key.bak
ln -s /etc/kubernetes/pki/apiserver.crt kubelet.crt
ln -s /etc/kubernetes/pki/apiserver.key kubelet.key
Network Requirements
You need an internet connection.
The NuvlaEdge software requires the following ports to be opened on the host:
Mandatory:
- 443: Outbound: Default HTTPS port. Used by NuvlaEdge to communicate with Nuvla via HTTPS (https://nuvla.io).
Optional:
- 1194: Outbound: UDP connection to vpn.nuvlaedge.com in case VPN is decided to be used for communication with the edge device managed by NuvlaEdge.
Extended port usage here.
NuvlaEdge footprint
Version | Avg. Memory (MB) | Disk usage (MB) | Release |
---|---|---|---|
2.5.0 | 200 | 350 | Pre-release |
2.1.1 | 260 | 980 | Latest release |