一、 安装过程:
1. 安装Golang
(1) 下载Golang安装包:
wget https://dl.google.com/go/go1.12.7.linux-amd64.tar.gz
(2) 解压Golang安装包
tar -xzf go1.12.7.linux-amd64.tar.gz
(3) 将Golang添加至系统环境变量
vi /etc/profile
export PATH=$PATH:/opt/go/bin
source /etc/profile
2. 安装Terraform
(1) 下载相应平台二进制文件:
https://releases.hashicorp.com/terraform/0.12.4/terraform_0.12.4_linux_amd64.zip
(2) 解压二进制文件
unzip terraform_0.12.4_linux_amd64.zip
(3) 将二进制文件添加至系统环境变量:
vi /etc/profile
export PATH=$PATH:/opt/terraform
source /etc/profile
3. 安装Terraform Provider
(1) 方法一:(不推荐)
git clone https://github.com/alibaba/terraform-provider
解压、编译、安装
(2) 方法二:
<1> 添加阿里云的接口信息:
export ALICLOUD_ACCESS_KEY=”*******”
export ALICLOUD_SECRET_KEY=”********”
<2> 创建一个干净的目录作为工作空间
mkdir workspace
<3> 初始化工作空间:
terraform init
terraform会识别出目标云为阿里云,自动进行相应Provider安装
二、 使用方法:
1. 先创建一个干净的目录作为工作空间(注):
mkdir workspace
2. 工作空间使用前需初始化,初始化时必须有一个*.tf文件(注):
touch myterraform.tf
terraform init
3. 创建:
terraform apply
4. 将key以系统环境变量的形式写入
export ALICLOUD_ACCESS_KEY="your_access_key" && export ALICLOUD_SECRET_KEY="your_secret_key"
5. 查看
terraform show
6. 释放
terraform destroy
三、 注释内容:
1. 获取帮助:
terraform help
terraform 子命令 -h
如:terraform apply -h
2. 工作空间(workspace):
(1) 必须以一个干净的目录文件作为初始工作空间
(2) 工作空间使用前必须在其所在目录下初始化
terraform init
(3) 初始化时必须存在至少一个.tf文件
(4) 所有工作空间共用该目录下的*.tf文件
(5) 每个工作空间相对独立
如:A工作空间执行terraform apply后,会根据目录下的.tf文件的配置创建相应服务;此时切换到B工作空间下,再执行terraform apply命令,会根据.tf文件的配置再次创建一遍相应服务;而此时执行terraform destroy命令,仅会销毁B工作空间下创建的服务。
同理,此时切换回A工作空间执行注销命令,也仅会注销A工作空间创建的服务
(6) 初始工作空间为default
(7) 各工作空间的行为相互不影响
3. *.tf文件
(1) 概述
即为服务执行文件,文件中指定所需创建服务的各类参数。
(2) 文件命名(默认命名,非强制)
main.tf -- 主要执行文件,可以叫任何名字
terraform.tfvars -- 配置 provider 要用到的变量
varable.tf -- 通用变量文件
resource.tf -- 资源定义
data.tf -- 包文件定义
output.tf -- 执行后的输出
(3) 基本格式:
详见附录《.tf文件详解》
有疑问加站长微信联系(非本文作者)