EDA installation overview#
This chapter describes the Nokia Event Driven Automation (EDA) components, the requirements for these components, and provides an overview of the installation process.
Components#
Several key concepts are used throughout the documentation; following is an overview of these concepts and components:
- Talos Linux and Kubernetes
- EDA uses Talos Linux and Kubernetes to host its services. Talos Linux is a minimalistic, locked-down, read-only and secured Linux environment purposely built to run Kubernetes. This ensures a more secure environment with significantly lower security footprint than regular Linux and Kubernetes environments.
- Playground git repository
- The Playground git repository is publicly available and is used to deploy EDA itself.
edaadm
-
A tool that will be used for several steps in the process:
- Get the location to download the base Talos image for KVM and VMware environments.
- Generate Talos machine configuration files for the deployment of both the Assets VM and the EDA Kubernetes cluster VMs.
- Initiate Talos Kubernetes clusters.
edaadm
git repository-
A publicly available git repository that contains details and definitions for:
- Assets bundles for air-gapped installations: EDA Assets are defined in different bundles, based on their purpose. The repository provides the bundles and the means to download the content of the bundles from the internet and then upload them to the deployed Assets VM.
- A KPT package to initiate the Assets VM.
- Air-gapped Assets VM
-
Used in an air-gapped environment, the Assets VM is a Virtual Machine deployed on a KVM or VMware environment. It is a single VM K8s cluster that will run:
- A container registry to host all the container images used by EDA.
- A git server to host the App Store Catalog.
- A web server to host certain artifacts used by EDA.
- Air-gapped Bundles
- Used in air-gapped installations, a bundle is a definition of a group of assets that are related. For instance a bundle for the core components of EDA for a specific version, or a bundle of the standard Apps for a specific version. Bundles are downloaded using the
edaadm
tool from the internet, and then uploaded usingedaadm
to the Assets VM. The product comes with a set of standard bundles and custom bundles can be created based on their examples. - Air-gapped EDA Shipyard
- A name used to describe the combination of the container registry, git server and web server running on the Assets VM.
Deployment models#
Nokia EDA is deployed as an application on one, three, or more nodes (validated for up to six nodes). The nodes (VMs) run a Kubernetes cluster with the following composition:
- One or three Kubernetes master nodes that also function as worker nodes: one, in case a single-VM deployment is used; otherwise three Kubernetes master nodes.
- Any remaining nodes (in a four or more node deployment) function as worker nodes.
- One, two or more nodes must also be designated as storage nodes. For redundancy, two is the minimum in a three or more node deployment. These nodes still function as worker (and potentially master) nodes as well. Rook-Ceph is used to create a storage cluster across the nodes indicated as storage nodes.
- (Optional) An Assets VM which will hold all the resources and files needed in case of an air-gapped environment.
Networking for EDA nodes#
This guide describes the deployment of EDA on a Kubernetes cluster with a single network, where access from both users and orchestrators to the UI and API, and access from EDA to the fabric (for example, SR Linux devices) go over the same interface.
It is possible to use two separate networks for the EDA nodes:
-
OAM network
This interface is used to access the UI and the API of Nokia EDA. It is also through this network that the deployment tool reaches the nodes. -
Fabric management network
This interface is used to communicate with the management interfaces of the fabric (for example, SR Linux devices) and is where Nokia EDA exposes its DHCP and ZTP services.
EDA nodes#
The Nokia EDA nodes are the VMware vSphere-based or KVM-based virtual machines (VMs) that host the Kubernetes environment on which the Nokia EDA application and Digital Sandbox are run.
These nodes run a hardened Talos Kubernetes environment. Talos is a secure, up-to-date and hardened platform for running Kubernetes.
EDA supports the following deployment models:
- an environment with one node, which hosts only the Nokia EDA application for small scale deployments
- an environment with three or more nodes, which hosts only the Nokia EDA application
Requirements for deployment#
This section describes the platform requirements, node requirements, and virtual IP requirements for deploying EDA.
Installation platform requirements#
To execute the installation process, you need access to a Linux environment1 with the following components installed:
Component | Requirement |
---|---|
Linux environment | Any Linux distribution. The procedures provided in this document are validated on Ubuntu. |
Container runtime | Docker must be running and you should be able to run containers |
Tools |
The following tools are also helpful. If they are not present, the installation tool downloads them later:
|
Internet access | Required for Internet-based installations. For Air-gapped installations, at least one system needs internet access. Either directly or through a proxy. |
Note
In case of an Air-gapped installation, the guide will refer to two tools-systems, one with public internet access and one in the air-gapped environment. These can be the same system that is moved from the public side to the air-gapped side after downloading all the resources; or it can be two different systems.
Nokia EDA node requirements#
The Nokia EDA nodes are deployed as virtual machine servers. Node requirements summarizes the requirements of Nokia EDA nodes in KVM and VMware hypervisor.
Component | Requirement |
---|---|
CPU | 32 vCPU on a modern x86-64 CPU that supports virtualization |
Memory | 64 GB |
Storage |
|
Networking |
|
Virtualization platform | You can run the Nokia EDA nodes as virtual machines using the following virtualization platforms:
|
Nokia EDA Assets VM requirements#
Note
This only applies if you plan to use the Air-gapped installation process.
The Assets VM runs as a single VM inside the air-gapped environment. This VM holds all of the assets and can be used across multiple deployments and EDA versions, containing the assets for multiple versions. This VM has the following requirements:
Component | Requirement |
---|---|
CPU | 4 vCPU on a modern x86-64 CPU that supports virtualization |
Memory | 16 GB |
Storage |
|
Networking |
|
Virtualization platform | You can run the EDA Assets VM as a virtual machine using the following virtualization platforms:
|
Virtual IP requirements#
The deployment of EDA requires two virtual IP addresses in the management network:
- Kubernetes VIP: the virtual IP address used by all the control plane nodes in the Kubernetes cluster.
- Nokia EDA API/UI VIP: the virtual IP address used by the Nokia EDA API and UI.
Installation process overview#
The installation consists of the following high-level tasks:
General preparation#
These tasks must be completed for both Internet based installations and Air-gapped installations.
-
Downloading the EDA Installation playground
This task describes how to access the EDA installation playground for use during the installation. It also covers how to configure the playground. -
Downloading the EDA EDAADM repository
This task describes how to download the EDAADM repository and theedaadm
tool, used for several steps in the installation process. -
Download the Talos machine image
This task describes how to download the Talos base image from the official Talos image factory for your environment.
Air-gapped setup#
In case the installation will be Air-gapped, this section provides steps on how to set up the Assets VM and load it with the necessary assets for deploying EDA in an Air-gapped environment.
-
Preparing the Assets VM
This task describes how to create the Asset VM image on a system with Internet access, so it can be used to deploy the Assets VM in the Air-gapped environment. -
Downloading the Assets
This task describes how to download all the necessary assets using a system with Internet access, so they can be used to deploy EDA in the Air-gapped environment. -
Preparing the Air-gapped environment
Describes how to prepare the Air-gapped environment by copying the files downloaded on the Internet facing system to the Air-gapped environment and prepare it so it can be used to install the Assets VM and EDA. -
Deploying the Assets VM
Deploys the Assets VM in the Air-gapped environment, bootstraps it and uploads all the Assets to the it.
Deploying EDA#
-
Preparing the EDAADM configuration file
This task describes the details of the EDAADM configuration file and how to set it up. -
Generating the Talos machine configurations
Using theedaadm
tool and the configuration file, this task generates specific Talos machine configuration files for each Talos VM. -
Deploying the Talos virtual machines
This task describes how to use the Talos base image and machine configuration files to deploy the Talos VMs in your KVM or VMware vSphere environment. -
Bootstrap the Talos Kubernetes cluster
This task bootstraps the Talos Kubernetes environment using the VMs you have created. -
Installing the EDA application
Using the EDA Installation playground, this step installs EDA on the Kubernetes environment in the EDA nodes.
-
This system might also be referred to as the "tools-system" further in this documentation. ↩