Azure Installation Guide

Instructions to install in Azure infra

Infrastructure Requirements

  1. Minimal Installation:

    • You need a system with a minimum of 16 CPUs. We recommend using 2 nodes with 8 cores each, totalling 64GB.

    • All machines must reside in the same availability zone to avoid data transfer charges across zones. Our Obsrv installer will automatically create the AKS cluster for you.

  2. Networking Environment:

    • Ensure your environment has a CIDR of 16

      • For example, a Virtual Network with a CIDR of 10.0.0.0/23 will have IP addresses ranging from 10.0.0.0 to 10.0.1.255.

    • Subnets must be created in all availability zones within your region.

Software Prerequisites

Installation of Obsrv requires the following CLI tools as prerequisites. Please note that the following instructions for installing the prerequisites are provided only for Linux based operating systems. Please follow the instructions for the specific tools depending upon your operating system.

Terraform

  • Terraform CLI version 1.5.x or older. Versions above 1.5.x are not MPL licensed.

    curl "https://releases.hashicorp.com/terraform/1.5.2/terraform_1.5.2_linux_amd64.zip" -o "terraform.zip" && unzip terraform.zip && sudo mv terraform /usr/local/bin/ && rm terraform.zip

Terragrunt

  • Terragrunt CLI version 0.48 or later.

    curl -OL https://github.com/gruntwork-io/terragrunt/releases/download/v0.49.0/terragrunt_linux_amd64 && sudo mv terragrunt_linux_amd64 /usr/local/bin/terragrunt && sudo chmod +x /usr/local/bin/terragrunt

Terrahelp

  • Terrahelp version 0.7.5 or later

    curl -OL https://github.com/opencredo/terrahelp/releases/download/v0.7.5/terrahelp_0.7.5_linux_386.tar.gz && tar -xzf terrahelp_0.7.5_linux_386.tar.gz && sudo mv terrahelp /usr/local/bin/terrahelp && sudo chmod +x /usr/local/bin/terrahelp

Helm

  • Helm version 3.10.2

    curl https://get.helm.sh/helm-v3.10.2-linux-amd64.tar.gz -o helm.tar.gz && tar -zxvf helm.tar.gz && sudo mv linux-amd64/helm /usr/local/bin/

Azure CLI

  • Azure CLI tool version 2.10 or later.

    curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
  • Post installation, authenticate Azure CLI. Please refer to this link for more details about Signing In to Azure CLI

    az login --allow-no-subscriptions

Installation Steps:

  1. Clone the obsrv-automation repository:

    git clone https://github.com/Sanketika-Obsrv/obsrv-automation.git
  2. Navigate to the setup directory:

    cd ./obsrv-automation/terraform/azure
  3. Export Azure Credentials:

    Create a Resource Group, Storage Account and Storage Container through the Azure Portal. Once completed, export the below values as an environment variable.

    export AZURE_TERRAFORM_BACKEND_RG=<resource_group>
    export AZURE_TERRAFORM_BACKEND_STORAGE_ACCOUNT=<storage_account_name>
    export AZURE_TERRAFORM_BACKEND_CONTAINER=<storage_container_name>
  4. Create the AKS cluster

    The following commands will create an AKS Cluster

    terragrunt init
    terragrunt  apply -target module.aks -auto-approve
    terragrunt apply -auto-approve

    During creation of the cluster, you will be asked for prompts as and when required by the installation. Here is a sample of the inputs you have to provide while the above script executes.

    env: dev
    building_block: obsrv
    location: East US 2
  5. Make a note of Resource Group created during the cluster creation. Usually it is a combination of <building_block>-<env>. For the above example the resorce group will be obsrv-dev. You can look for the logs for the statement like below.

    module.network.azurerm_resource_group.rg: Creation complete after 3s [id=/subscriptions/<uuid>/resourceGroups/<your-resource-group>]

    Export the Resource Group name as an environment variable

    export AZ_RESOURCE_GROUP=<your-resource-group>

Upgrade Steps:

  1. Take latest code from obsrv-automation repository

    cd ./obsrv-automation
    git pull
    cd ./terraform/azure
  2. Ensure all the configuration configured during the installation is properly updated in all places.

  3. Run the terraform to upgrade the cluster to the latest versions.

    cd ./obsrv-automation
    git pull
    cd ./terraform/azure
    terragrunt apply -auto-approve

Last updated