Create Azure Container Registry Using Terraform: A Practical Step-by-Step Guide

Step 1: Install Terraform

  • First, you need to have Terraform installed on your local machine or the environment where you’ll be working. You can download the appropriate package for your operating system from the official Terraform website

Step 2. Set Up Azure Credentials

Terraform needs to authenticate with Azure to manage resources. You can set up authentication in one of the following ways:

  • Service Principal: Create an Azure Service Principal and set the required environment variables (ARM_SUBSCRIPTION_ID, ARM_CLIENT_ID, ARM_CLIENT_SECRET, and ARM_TENANT_ID).
az ad sp create-for-rbac --name "ServicePrincipalName" --role contributor --scopes /subscriptions/<SUBSCRIPTION_ID>
$env:ARM_SUBSCRIPTION_ID="<SUBSCRIPTION_ID>"
$env:ARM_CLIENT_ID="<APP_ID>"
$env:ARM_CLIENT_SECRET="<PASSWORD>"
$env:ARM_TENANT_ID="<TENANT_ID>"
  • Managed Identity: If you’re running Terraform from an Azure resource (e.g., a Virtual Machine), you can use a Managed Identity.

Step 3: Configure Terraform

  • In your Terraform configuration file (provider.tf), add the following provider block:
provider "azurerm" {
subscription_id = "<SUBSCRIPTION_ID>"
client_id = "<APP_ID>"
client_secret = "<PASSWORD>"
tenant_id = "<TENANT_ID>"
features {}
}

Step 4: Create Terraform Configuration File

  • Create a new file (e.g., main.tf) in your directory and define the Azure Resource Group using the azurerm_resource_group resource:
# Create a resource group
resource "azurerm_resource_group" "rg" {
name = "myResourceGroup"
location = "westus"
}

# Create an Azure Container Registry
resource "azurerm_container_registry" "acr" {
name = "myFintricityRegistry"
resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg.location
sku = "Premium"
admin_enabled = false
}
  • Save the main.tf file.

Step 5: Initialize Terraform

  • Initialize Terraform by running the following command:
terraform init

Step 6: Plan Terraform Changes

  • Before applying the changes, you can preview the planned actions by running:
terraform plan
  • This command shows you the resources that will be created, updated, or deleted based on your configuration.

Step 7: Apply Terraform Changes

  • If you’re satisfied with the planned changes, you can apply them by running:
terraform apply
  • Terraform will prompt you to confirm the changes before proceeding. Type yes to confirm and create the Azure Resource Group.

Step 7: Verifying The Changes

  • Open the azure portal and look for the newly made azure container registry with terraform:

Step 8: Deleting The Resource Group

  • It is very important to delete the resource group or anything made via terraform when they are not in use. It can be deleted using the following command:
terraform destroy

How To Create Azure Container Registry Using Terraform ?

The challenges of managing containers in a larger environment affect not only the efficiency and effectiveness but also the scalability and resilience of the applications. They give an independent and continuous environment for the applications to execute the same and deployed everywhere effortlessly. Microsoft Azure Container Registry or ACR is Microsoft’s fully managed, private Docker container registry service ensuring safety and easy access to images saved.

As we embark on this journey, I will demonstrate how to leverage Azure Terraform template provider to build an Azure Container Registry instance. In this lecture, we will walk through the essential configuration process starting with the authentication towards Azure, creating the ACR resource and finally applying the needed configuration marks in order to create the registry. After following this handbook to the end, you’ll see how to use Terraform effectively to both create and manage your Azure Container Registry which will be used for your extremely important application deployments without much difficulties.

Similar Reads

What Is Azure Container Registry?

Azure Container Registry (ACR) is a duplexed by Microsoft Docker container registry service that runs on Azure. It is made to saves, administer and songs private containers images and provides a secure platform to run the same app deployed to diverse environments....

What Is Terraform?

Terraform is HashiCorp’s IaC tool based on the open source that helps lay the base for the infrastructure. It lets you specify the sizes, allocations of resources, and Roles in the cloud infrastructure describing only what you need to create and control everything. As the provider for a number of the cloud providers including Azure, AWS, Google Cloud and many others, Terraform makes the provisioning and management of these infrastructures an easy task....

Create Azure Container Registry Using Terraform: A Practical Step-by-Step Guide

Step 1: Install Terraform...

Advantages To Create Azure Container Registry With Terraform

Creating an Azure Container Registry (ACR) using Terraform offers several advantages the following are a few:...

Disadvantages To create azure container registry with terraform:

While using Terraform to create an Azure Container Registry (ACR) offers several advantages, there are also some potential disadvantages to consider:While using Terraform to create an Azure Container Registry (ACR) offers several advantages, there are also some potential disadvantages to consider:...

Conclusion

In the conclusion, make Terraform a powerful tool for creating and administering the Azure Container Registry (ACR) systems, it becomes a vital choice for organizations that plan to adapt to IaC practices, and they can enjoy the benefits of declarative infrastructure provisioning....

Azure Container Registry Using Terraform – FAQ’s

How Do I Authenticate Terraform To Create An ACR In Azure?...