Terraform安装与使用(简述版)

一、 安装过程:

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文件详解》
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容