在使用Terraform的簡(jiǎn)單模板語(yǔ)言定義、預(yù)覽和部署云基礎(chǔ)結(jié)構(gòu)前,您需要安裝預(yù)配置Terraform。
操作步驟
- 前往Terraform官網(wǎng)下載適用于您的操作系統(tǒng)的程序包。
- 將程序包解壓到本地路徑中,例如/usr/local/bin。如果將可執(zhí)行文件解壓到其他目錄,按照以下方法為其定義全局路徑:
- Linux:請(qǐng)參見(jiàn)在Linux系統(tǒng)定義全局路徑。
- Windows:請(qǐng)參見(jiàn)在Windows系統(tǒng)定義全局路徑。
- macOS:請(qǐng)參見(jiàn)在macOS系統(tǒng)定義全局路徑。
- 運(yùn)行
terraform
驗(yàn)證路徑配置。將顯示可用的Terraform選項(xiàng)的列表,類似如下所示,表示安裝完成。username:~$ terraform Usage: terraform [-version] [-help] <command> [args]
- 為提高權(quán)限管理的靈活性和安全性,建議您創(chuàng)建RAM用戶,并為其授權(quán)。
- 使用云賬號(hào)登錄RAM控制臺(tái)。
- 創(chuàng)建名為Terraform的RAM用戶,并為該用戶創(chuàng)建AccessKey。具體操作,請(qǐng)參見(jiàn)創(chuàng)建RAM用戶。
- 為RAM用戶授權(quán)。在本示例中,給用戶Terraform授予
AliyunEDASFullAccess
和AliyunVPCFullAccess
權(quán)限,具體步驟請(qǐng)參見(jiàn)為RAM用戶授權(quán)。
- 創(chuàng)建測(cè)試目錄。因?yàn)槊總€(gè)Terraform項(xiàng)目都需要?jiǎng)?chuàng)建1個(gè)獨(dú)立的工作目錄,所以先創(chuàng)建一個(gè)測(cè)試目錄terraform-test。
[user@test bin]#mkdir terraform-test
- 進(jìn)入terraform-test目錄。
[user@test bin]#cd terraform-test [user@test terraform-test]#
- 創(chuàng)建配置文件。Terraform在運(yùn)行時(shí),會(huì)讀取該目錄空間下所有*.tf和*.tfvars文件。因此,您可以按照實(shí)際用途將配置信息寫入到不同的文件中。下面列出幾個(gè)常用的配置文件:
例如創(chuàng)建provider.tf文件時(shí),您可按以下格式配置您的身份認(rèn)證信息:provider.tf -- provider配置 terraform.tfvars -- 配置provider要用到的變量 varable.tf -- 通用變量 resource.tf -- 資源定義 data.tf -- 包文件定義 output.tf -- 輸出
[user@test terraform-test]# vim provider.tf provider "alicloud" { region = "cn-beijing" access_key = "LTA**********NO2" secret_key = "MOk8x0*********************wwff" }
更多配置信息,請(qǐng)參見(jiàn)alicloud_edas_application。
- 初始化工作目錄。
[user@test terraform-test]#terraform init Initializing provider plugins... - Checking for available provider plugins on https://releases.hashicorp.com... - Downloading plugin for provider "alicloud" (1.25.0)... The following providers do not have any version constraints in configuration, so the latest version was installed. To prevent automatic upgrades to new major versions that may contain breaking changes, it is recommended to add version = "..." constraints to the corresponding provider blocks in configuration, with the constraint strings suggested below. * provider.alicloud: version = "~> 1.25" Terraform has been successfully initialized! You may now begin working with Terraform. Try running "terraform plan" to see any changes that are required for your infrastructure. All Terraform commands should now work. If you ever set or change modules or backend configuration for Terraform, rerun this command to reinitialize your working directory. If you forget, other commands will detect it and remind you to do so if necessary.
重要 每個(gè)Terraform項(xiàng)目在新建Terraform工作目錄并創(chuàng)建配置文件后,都需要初始化工作目錄。