Para validar se o Azure CLI foi instalado corretamente em seu dispositivo, execute o comando abaixo:
az login
Task 2 - Preparação do ambiente Microsoft Azure para receber as configurações
Requisitos
> Definir a região de hospedagem
az configure --defaults location=eastus2
> Criar um "Resource Group" para os recursos do Cluster AKS
az group create -n ht-AksTerraform-RG -l eastus2
> Criar uma "Storage Account" para o cluster do AKS
az storage account create -n htsaaksterraform -g ht-AksTerraform-RG -l eastus2
> Criar um container "tfstate" para o cluster do AKS
az storage container create -n tfstate --account-name htsaaksterraform
> Criar um "KeyVault" para o cluster do AKS
az keyvault create -n ht-kvaksterraform -g ht-AksTerraform-RG -l eastus2
> Criar um token SAS para a conta de armazenamento, armazenando no KeyVault
az storage container generate-sas --account-name htsaaksterraform --expiry 2021-01-01 --name tfstate --permissions dlrw -o json | xargs az keyvault secret set --vault-name ht-kvaksterraform --name TerraformSASToken --value
> Criar uma entidade de serviço para AKS e Azure DevOps
az ad sp create-for-rbac -n "ht-AksTerraformSPN"
> Criar uma chave ssh
ssh-keygen -f ~/.ssh/id_rsa_terraform
> Armazenar a chave pública no Azure KeyVault
az keyvault secret set --vault-name ht-kvaksterraform --name LinuxSSHPubKey -f ~/.ssh/id_rsa_terraform.pub > /dev/null
> Armazenar a entidade de serviço no Azure KeyVault
az keyvault secret set --vault-name ht-kvaksterraform --name spn-id --value dfafd341-3f43-4b85-8944-21b014dbcfea > /dev/null
> Armazenar a entidade de serviço no Azure KeyVault
az keyvault secret set --vault-name ht-kvaksterraform --name spn-secret --value 008e522b-f1c5-45cd-8f9a-c609bbb504c6 > /dev/null
> Infelizmente, o recurso Terraform Backend não suporta variáveis, então precisaremos passar o parâmetro no método init para configurar corretamente o back-end em nosso pipeline de CI/CD