Azure Installation Guide
Instructions to install in Azure infra
Infrastructure Requirements
Section titled “Infrastructure Requirements”- 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.
- Networking Environment:
- Ensure your environment has a CIDR of 16
- For example, a Virtual Network with a CIDR of
10.0.0.0/23will have IP addresses ranging from10.0.0.0to10.0.1.255.
- For example, a Virtual Network with a CIDR of
- Subnets must be created in all availability zones within your region.
- Ensure your environment has a CIDR of 16
Software Prerequisites
Section titled “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
Section titled “Terraform”-
Terraform CLI version 1.5.x or older. Versions above 1.5.x are not MPL licensed.
Terminal window 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 -
Download from here - https://developer.hashicorp.com/terraform/install
Terragrunt
Section titled “Terragrunt”-
Terragrunt CLI version 0.48 or later.
Terminal window 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 -
Download from here - https://terragrunt.gruntwork.io/docs/getting-started/install/
Terrahelp
Section titled “Terrahelp”-
Terrahelp version 0.7.5 or later
Terminal window 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 -
Download from here - https://github.com/opencredo/terrahelp?tab=readme-ov-file#installation
-
Helm version 3.10.2
Terminal window 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/ -
Download from here - https://helm.sh/docs/intro/install/
Azure CLI
Section titled “Azure CLI”-
Azure CLI tool version 2.10 or later.
Terminal window curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash -
Download from here - https://learn.microsoft.com/en-us/cli/azure/install-azure-cli
-
Post installation, authenticate Azure CLI. Please refer to this link for more details about Signing In to Azure CLI
Terminal window az login --allow-no-subscriptions
Installation Steps:
Section titled “Installation Steps:”-
Clone the
obsrv-automationrepository:Terminal window git clone https://github.com/Sanketika-Obsrv/obsrv-automation.git -
Navigate to the setup directory:
Terminal window cd ./obsrv-automation/terraform/azure -
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.
Terminal window export AZURE_TERRAFORM_BACKEND_RG=<resource_group>export AZURE_TERRAFORM_BACKEND_STORAGE_ACCOUNT=<storage_account_name>export AZURE_TERRAFORM_BACKEND_CONTAINER=<storage_container_name> -
Create the AKS cluster
The following commands will create an AKS Cluster
Terminal window terragrunt initterragrunt apply -target module.aks -auto-approveterragrunt apply -auto-approveDuring 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.
Terminal window env: devbuilding_block: obsrvlocation: East US 2 -
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 beobsrv-dev. You can look for the logs for the statement like below.Terminal window 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
Terminal window export AZ_RESOURCE_GROUP=<your-resource-group>
Upgrade Steps:
Section titled “Upgrade Steps:”-
Take latest code from
obsrv-automationrepositoryTerminal window cd ./obsrv-automationgit pullcd ./terraform/azure -
Ensure all the configuration configured during the installation is properly updated in all places.
-
Run the terraform to upgrade the cluster to the latest versions.
cd ./obsrv-automationgit pullcd ./terraform/azureterragrunt apply -auto-approve