Skip to content

Prepare the edge infrastructure

ICOS only supports containerized environments and applications. In order to be able to on-board and edge infrastructure into ICOS, a Kubernetes (or compatible) or Docker (or compatible) installation is required. Detailed installation instructions for Kubernetes or Docker are not covered in this guide. However, below we provide an example on how to install K3s in a device with a single command:

  1. Create a new k3s-cluster:
$ curl -sfL https://get.k3s.io | sh -s - --write-kubeconfig-mode 644 --write-kubeconfig $HOME/.kube/config
  1. Install helm:
$ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
$ chmod 700 get_helm.sh
$ ./get_helm.sh

After this , you can go to the next step : Install the Orchestrator

Edge infrastructure preparation

ICOS only supports containerized environments and applications. In order to be able to on-board an edge infrastructure into ICOS, you will need to choose between one of these options:

  • Installation of a Kubernetes cluster
  • Installation of Docker Engine

Depending on your choice, you may execute the corresponding commands provided below for a very basic setup that will allow you to continue with the onboarding process.

Kubernetes

One of the easiest ways to setup a basic ICOS-valid Kubernetes environment is via the K3S installation script and the installation of Helm (Kubernetes package manager).

  1. Launch a new K3S cluster:

    curl -sfL https://get.k3s.io | sh -s - --write-kubeconfig-mode 644 --write-kubeconfig $HOME/.kube/config
    

  2. Install Helm:

    curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
    chmod 700 get_helm.sh
    ./get_helm.sh
    
    Any Kubernetes + Helm setup with Kubernetes version 1.19 or higher will work for ICOS. K3S is just simple and quick example.

Docker

You can quickly install the Docker Engine using the commands below (taken from the official Docker documentation for Ubuntu):

  1. Make sure any old installations are removed.

    for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
    

  2. Set up Docker's apt repository.

    **Add Docker's official GPG key:**
    sudo apt-get update
    sudo apt-get install ca-certificates curl
    sudo install -m 0755 -d /etc/apt/keyrings
    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
    sudo chmod a+r /etc/apt/keyrings/docker.asc
    
    **Add the repository to Apt sources:**
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
      $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update
    

  3. Install the Docker packages

    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    

  4. (Optional) To run docker commands without prefacing them with sudo everytime

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

After this , you can go to the next step : Install the Orchestrator