概述
HashiCorp Terraform 是一个IT基础架构自动化编排工具,可以用代码来高效地预配和管理云基础架构。Terraform的命令行接口(CLI)提供一种简单机制,用于将配置文件部署到阿里云或其他任意支持的云上,并对其进行版本控制。
Terraform是一个高度可扩展的工具,通过Provider来支持新的基础架构。您可以使用Terraform来创建、修改、删除ECS、VPC、RDS、SLB等多种资源。
优势
将基础结构部署到多个云 - Terraform适用于多云方案,将相类似的基础结构部署到阿里云、其他云提供商或者本地数据中心。开发人员能够使用相同的工具和相似的配置文件同时管理不同云提供商的资源。
自动化管理基础结构 - Terraform能够创建配置文件的模板,以可重复、可预测的方式定义、预配和配置ECS资源,减少因人为因素导致的部署和管理错误。能够多次部署同一模板,创建相同的开发、测试和生产环境。
基础架构即代码(Infrastructure as Code) - 可以用代码来管理维护资源。允许保存基础设施状态,从而使您能够跟踪对系统(基础设施即代码)中不同组件所做的更改,并与其他人共享这些配置 。
安装和配置Terraform
1、前往Terraform官网下载适用于您的操作系统的程序包。
2、将程序包解压到/usr/local/bin。
3、运行terraform验证路径配置。
将显示可用的Terraform选项的列表,类似如下所示,表示安装完成。
$ terraform
Usage: terraform [-version] [-help] <command> [args]
运行terraform
初始化
$ terraform init
查看要创建的资源
$ terraform plan
创建资源
$ terraform apply
销毁资源
$ terraform destroy
Terraform在运行时,会读取该目录空间下所有.tf以及.tfvars 文件。因此,没有必要将所有配置信息写在1个配置文件中。用户可以按照实际用途将配置信息写入到不同的文件中。例如:
provider.tf -- provider 配置
terraform.tfvars -- 配置 provider 要用到的变量
varable.tf -- 通用变量
resource.tf -- 资源定义
data.tf -- 包文件定义
output.tf -- 输出