《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