To install the Yva.ai platform without access to Yva.ai repositories you need to perform the following actions on all servers:

Install packages from the repository.

For Ubuntu, this will be the following command:

sudo apt install jq docker docker-compose zip unzip curl wget apt-transport-https ca-certificates software-properties-common moreutils dnsutils
CODE

For CentOS:

sudo yum install jq docker docker-compose zip unzip curl wget apt-transport-https ca-certificates software-properties-common moreutils dnsutils
CODE

Create an yva group (if you do not plan to add a yva user to an existing group) and add it to sudoers:

sudo groupadd yva
sudo echo "%yva ALL=(ALL) ALL" >> /etc/sudoers
CODE

Create a yva user and add it to the yva group:

sudo useradd -g yva -G root -s /bin/bash -m yva
CODE

Add a user to the docker group:

sudo usermod -a -G docker yva
CODE

Set a password for the yva user:

sudo passwd yva
CODE

Log in as a yva user:

su - yva
CODE

The following steps create a local docker repository, so they need to be performed only on the mngr server.

Download the archive with the installer, for example, offline_release_3.1.0.zip with the installer in the /home/yva folder

Unpack the archive to the /home/yva/distr folder:

cd ~/
unzip offline_release_3.1.0.zip -d distr
CODE

Instead of offline-installer.zip specify the name of the archive:

cd ~/distr
docker load -i nginx.zip
docker load -i registry.zip
cd local_registry
docker-compose up -d
CODE

The local repository is ready.

The next steps should be performed on each of the servers.

Add the following line to /etc/hosts:

ip_address_server_mpdg local-release
CODE

Create a folder to install the system:

sudo mkdir /yva-platform
sudo chown -R yva:yva /yva-platform
sudo chmod -R 777 /yva-platform
cd /yva-platform/
CODE

Copy the file install.sh to the /yva-platform folder from the mngr server from the /home/yva/distr/local_registry/data/bin/nginx folder/

Create a file with settings for installation:

touch values.json
    "kv": {
        "PLATFORM_CONSUL_JOIN": "IP address of the server with the mngr role",
        "PLATFORM_IFS_DEFUALT_LIST": "bond en eth wl dummy",
        "PLATFORM_SERVICE_PUBLIC_IFS": "bond en eth",
        "PLATFORM_UPDATE_HOSTROLE": "server role",
        "INIT_DOCKER_USER": "user to connect to docker repository",
        "INIT_DOCKER_PASS": "password for connecting to the docker repository",
        "PLATFORM_DOCKER_CR": "local-release:5000",
        "PLATFORM_SERVICE_PUBLIC_IP": "IP address of the server with the mngr role",
        "YVA_SECURE_PLAIN": "administrator password"
    }
}
CODE

"INIT_DOCKER_USER" - provided by the Yva.ai manager.
"INIT_DOCKER_PASS" - provided by the Yva.ai manager.

Adding the rights to execute the install.sh script:

chmod a+x /yva-platform/install.sh
CODE

Starting the installation:

./install.sh
CODE

Possible roles:

  • Medium installation (3 servers, up to 300 users):
    "vm_mngr_medium"
    "vm_exec_medium"
    "vm_gpdb_medium"

  • Large installation (6 servers, 300-1500 users):
    "vm_mngr_large"
    "vm_exec_large"
    "vm_gpdb_large"
    "vm_mdbsh_large"
    "vm_hbase_large"
    "vm_app_large"

  • XL installation (9 servers, more than 1500 users):
    "vm_mngr_xl"
    "vm_front_xl"
    "vm_mdbs0h0_xl"
    "vm_mdbs0h1_xl"
    "vm_gpdb_xl"
    "vm_hbase_xl"
    "vm_rmq_xl"
    "vm_app_xl"
    "vm_exec_xl"