Learning DevOps
上QQ阅读APP看书,第一时间看更新

Deploying the infrastructure with Terraform

With the Terraform code written, we now need to run Terraform to deploy our infrastructure.

However, before any execution, it is necessary to first provide authentication with the Azure SP to ensure that Terraform can manage Azure resources.

For this, we can either set the environment variables specific to Terraform to contain the information of the SP created earlier in the Configuring Terraform for Azure section or use the az cli script. 

The following script exports the four Terraform environment variables in the Linux OS:

export ARM_SUBSCRIPTION_ID=xxxxx-xxxxx-xxxx-xxxx
export ARM_CLIENT_ID=xxxxx-xxxxx-xxxx-xxxx
export ARM_CLIENT_SECRET=xxxxxxxxxxxxxxxxxx
export ARM_TENANT_ID=xxxxx-xxxxx-xxxx-xxxx

We can also use the az cli script with the login command:

az login

Once authenticated, we can run Terraform.

In our scenario, for example, we start with an empty Azure subscription without any group resources, but in the real world, our subscription may already contain group resources. 

Before running Terraform, in the Azure portal, check that we do not have a resource group in our subscription:

To run Terraform, we must open a command-line Terminal such as CMD, PowerShell, or Bash and go to the directory where the Terraform code files we wrote are located.

The Terraform code is executed in several steps such as initialization, the preview of changes, and the application of those changes.

Let's look in detail at the execution of these steps next, starting with the initialization step.