《Windows Azure Platform 系列文章目錄》
本文將介紹如何安裝與配置Terraform,並構建與Azure China環境的鏈接
1.筆者的環境是Windows 10 Sub System for Linux (WSL),有關WSL環境的安裝與配置,不在此文中贅述。
2.安裝完WSL后,我們安裝unzip工具
sudo apt install unzip
3.下載Terraform,https://www.terraform.io/downloads.html
wget https://releases.hashicorp.com/terraform/0.12.24/terraform_0.12.24_linux_amd64.zip
4.unzip terraform
unzip terraform_0.12.24_linux_amd64.zip
5.移動文件terraform到/usr/bin目錄
mv terraform /usr/bin
6.查看版本
terraform version
7.Terraform安裝完畢后,我們需要在WSL中設置azure cli,具體參考:https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-apt?view=azure-cli-latest
8.然后我們需要設置Azure AD App Registration然后獲得:
- Application (Client) ID
- Directory (Tenant) ID
- Client secrets
有關這部分的詳細內容,請參考:Windows Azure AD (7) 創建配置應用程序和服務主體 (Application and Service Principal)
9.在訂閱中,設置App Registration的RBAC權限。
10.我們在WSL創建一個文件夾並命名為data,在這個文件夾中設置Terraform的運行環境,命名為setenv.sh。注意下面的訂閱ID、Client ID等,從步驟8中獲得
#!/bin/sh echo "Setting environment variables for Terraform" export ARM_SUBSCRIPTION_ID=your_subscription_id export ARM_CLIENT_ID=your_appId export ARM_CLIENT_SECRET=your_password export ARM_TENANT_ID=your_tenant_id # Not needed for public, required for usgovernment, german, china export ARM_ENVIRONMENT=public
運行結果如下圖,注意我們使用的是國內由世紀互聯運維的Azure,最下面的 ARM_ENVIRONMENT=china
11.運行source命令,使其中定義的環境變量立即生效
source setenv.sh
運行完畢后,在shell中執行env查看當前環境變量是否生效。圖略
12.創建一個sample,命名為test.tf,通過vi編輯文件內容,並保存文件
可以看到我們會創建一個新的資源組,該資源組的Location在China East 2
provider "azurerm" { # The "feature" block is required for AzureRM provider 2.x. # If you are using version 1.x, the "features" block is not allowed. version = "~>2.0" features {} } resource "azurerm_resource_group" "rg" { name = "testResourceGroup" location = "chinaeast2" }
13.在Terraform中運行
terraform init
輸出結果:
14.執行terraform apply
terraform apply -auto-approve
15.執行完畢后,我們回到Azure Portal,可以查看到已經創建成功的Azure Resource Group,名稱為:testResourceGroup