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
- (tested with
- 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
- You can also install it via
- Kubernetes Helm package manager (helm) (tested with helm 3.6.0)
- You can also install it via
az
- You can also install it via
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.
Recommended
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
.