Terraform (1) 安裝與配置


  《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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM