Skip to main content

Azure Installation

Prerequisites

  • Azure Account/Subscription

Requirements

navio uses a setup script for automating the steps required to set up navio on an Azure instance.

The setup script is a (bash) shell script which requires to be run on a Linux based OS (including WSL if you are using Windows) or macOS.

Required Tools

To run the script you require the following tools:

  • Azure Command Line Interface (az)
    • (tested with azure-cli 2.22.1) Client version has to be +/- one minor (major.minor.micro) of the kubernetes cluster version
  • PostgreSQL Command Line Interface (psql) (tested with psql 12.6)
  • Kubernetes Command Line Interface (kubectl) (tested with kubectl v1.21.1)
    • You can also install it via az
  • Kubernetes Helm package manager (helm) (tested with helm 3.6.0)
    • You can also install it via az

Required Permissions

Your account must have the permissions to create a new resource group. A new resource group will be created automatically by the setup script.

As the setup is automated, there is no specific knowledge required. However, in case automated installation fails it helps if you have experience with:

  • Kubernetes
  • terminal prompt and shell scripts

Installation

Install navi using shell script which sets up most of the components in Azure with default configuration.

1. Download the setup script

# Download installation script and kubernetes templates
git clone https://github.com/craftworksgmbh/craftworks-navio-k8s

# Change directory to the downloaded folder and
cd craftworks-navio-k8s/azure

2. Set mandatory configuration and secrets

# working directory: azure/

cp config/config.template.sh config/config.sh
cp config/secrets.template.sh config/secrets.sh
cp config/backend/application-secrets.template.properties config/backend/application-secrets.properties

Manually open the files you copied and replace <please fill> with your own configuration and save the files.

Latest configuration options are described on the next page.

3. Execute the setup script


# working directory: azure/

# Manually open setup.sh, uncomment all steps in the bottom and save the file

# Execute installation script (no root access required)
./setup.sh

External Configuration

To finish the setup of navio, you only need to set up the SendGrid templates.

Uninstalling

Uninstalling can be done via Azure Portal interface.

  • Delete Azure kubernetes cluster
  • Delete Azure file share and storage account
  • Delete Azure postgres server

Data Backups

Troubleshooting

Problem: Number of requests is 0 in model.

Solution: Number of requests is provided via prometheus.

Please check:

kubectl port-forward -n navio service/prometheus-operated 9201:web

Now go to http://localhost:9201.

Under menu item Status → Service Discovery you should see navio/navio-backend-monitor/0 and bunch of Discovered labels under it.

Under menu item Status → Targets you should see something like http://10.244.1.8:8080/actuator/prometheus with status UP.

If the status is UP and no requests are done, then try to make more requests as very first one (per backend node) is omitted.

If the status is DOWN, look into prometheus logs and double check the configured basic auth is working when you go to http://<backend-ip>:8080/actuator/prometheus.