Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

At a minimum one node is required for the master and deploy and build roles together, and at least two edge nodes and two camera nodes. The testing installation uses two edge and camera nodes.

...

All nodes are expected to have IP connectivity to one another during installation and normal operation, with the exception of the sensor camera nodes. In the installation described here, all the nodes are connected to a private wired network operating at 100Mbps or better. However, there are no strict bandwidth or latency requirements.

During initial software installation all of the nodes will require access to the internet to download required software packages. Once the required software packages are installed and the docker registry is started, only the deploy node and build node will need further access to the internet (unless, of course, software packages need to be changed or updated). The deploy node will need to access the internet when pulling upstream images to install in the docker registry, and . The build node will need to access the internet when building docker images for custom services. Of course, if external tools are going to be used to access the collected data through the MQTT broker (Mosquitto), those tools will need network access to the master node.

...

The list below shows the required software for each node type prior to beginning the installation process.

  • Build node
    • Ubuntu 20.04
    • Ansible 2.12.5
  • Deploy node
    • Ubuntu 20.04
    • Ansible 2.1112.75
  • Master node
    • Ubuntu 20.04
  • Edge node
    • Ubuntu 20.04
    Sensor
  • Camera node
    • Rasbian 11.1N/A (pre-installed)

Note that Ansible 2.9.6 is installed from the regular Ubuntu repository on Ubuntu 20.04, but needs to be upgraded from the Ansible repository to support the kubernetes.core collection used by this blueprint. The setup_cicd.yml playbook can be run with Ansible 2.9.6 and will update Ansible to the required version.

...

Note that the installation process will install several more software packages through Ansible playbooks. These are listed below for reference. Packages included by default in an install of Ubuntu 20.04 server are not included. The version numbers are those that are available/installed at the time of writing by the Ansible playbooks on Ubuntu 20.04.

  • Deploy Build node
    • make 4.2.1, build-essential 12.8, python3-pip 20.0.2
    • Ansible collections community.docker, kubernetes.core, community.crypto
    • Docker (docker.io) 20.10.712
    • Robot Framework 5.0
    • Go 1.16.10
  • Deploy node
    • make 4.2.1, build-essential 12.8, python3-pip 20.0.2
    • Ansible collections community.docker, kubernetes.core, community.crypto
  • Master node
    • Docker (docker.io) 20.10.712
    • python3-pip 20.0.2
    • Python packages cryptography and kubernetes
    • mosquitto 2.0.1415, mosquitto-clients 2.0.1415
    • Kubernetes (kubectl, kubelet, kubeadm) 1.22.69
    • Flannel 0.1617.30, flannel-cni-plugin 1.0.1 (Note: These are containers installed via Kubernetes through a config file)
  • Edge node
    • Docker (docker.io) 20.10.712
    • Kubernetes (kubelet, kubeadm) 1.22.6 9 (kubectl may be installed for debugging purposes)

...