The Regional Controller may run on any host machine with the following requirements:
a relatively recent version of Docker
high speed networking connectivity to the Edgesites that will be deployed
access to the Internet for downloading Blueprints, Docker images, etc.
There is one shell script, start_arc.sh
, that may be downloaded and run to start the RC. This script takes no command line parameters; some internal values may be changed by setting and exporting certain environment variables.
To start the Regional Controller, clone the scripts from gerrit, and then run this script as follows:
$ git clone https://gerrit.akraino.org/r/regional_controller/api-server.git $ cd api-server/scripts $ ./start_arc.sh
The operation of the start script may be modified by setting and exporting any of the following environment variables (you do so at your own risk):
Variable | Default Value | Purpose |
---|---|---|
DROOT | /data | The root of the directory tree for volumes shared with the containers. |
DOMAIN | akraino.demo | The domain under which all these containers run. |
PREFIX | arc | The prefix used when naming the Docker containers. |
PW | abc123 | The password used for the databases. |
NETWORK | ${PREFIX}-net | The name of the Docker network that all containers run on. |
CERTDIR | ${DROOT}/nginx/cert | Alternate directory to pass to NGiNX for the SSL certificates. |
API_IMAGE | nexus3.akraino.org:10003/akraino/arc_api:latest | The Docker image used for the API server. |
AF_IMAGE | nexus3.akraino.org:10003/akraino/airflow:latest | The Docker image used for the Apache Airflow workflow engine. |
DB_IMAGE | mariadb:10.4 | The Docker image used for the database. |
LDAP_IMAGE | osixia/openldap:1.2.3 | The Docker image used for the LDAP server. |
The copy of NGiNX internal to the Regional Controller will only allow HTTPS (port 443) access. It comes with some built in SSL certificates, that are self-signed and are for the domain arc.akraino.demo
. These are intended for demo use only; you will probably want to get your own certificates. To replace the default certificates, set the $CERTDIR
variable to the directory containing your certificates. These MUST be named akraino.crt
and akraino.key
.
Internal Structure of the Regional Controller
The regional controller consists internally of ten docker containers. The following diagram shows the internal flow of communication.