「10min」安装Terraform

更新时间:

用10分钟时间完成Terraform的安装和配置,为通过Terraform生产基础设施做好准备。

什么是Terraform的介绍中提到,Terraform是以二进制包的形式分发。所以您可以使用常见的包管理器安装Terraform。

安装Terraform

手动安装

使用预编译包

登录Terraform官网,找到对应操作系统的zip包,并下载。

在下载完成后,请将程序包解压到/usr/local/bin其余文件在复制完成后均可删除,这并不会影响Terraform正常运行。

最后,请确保Terraform目录在PATH变量中已完成定义,不同操作系统会有所不同。

Mac或Linux

打印您的PATH配置

echo $PATH

将Terraform二进制文件移动到列出的位置之一。此命令假定二进制文件当前位于您的Downloads文件夹中并且您的PATH包含/usr/local/bin,但如果您的位置不同,您可以自定义命令中的目录。

mv ~/Downloads/terraform /usr/local/bin/

Windows

  1. 进入控制面板 -> 系统 -> 系统设置 -> 环境变量。

  2. 在系统变量中向下滚动,直到找到 PATH。

  3. 单击编辑并进行相应更改。

  4. 请务必在前一个末尾添加分号,因为这是分隔符,即 c:\path;c:\path2

  5. 启动新控制台以使设置生效。

使用源

如果您期望从源代码编译二进制文件,可以克隆HashiCorp Terraform代码库

git clone https://github.com/hashicorp/terraform.git

您将会看到如下进度提示信息,并等待其执行完成。

image

执行完成后,您执行命令的目录下会新增一个terraform名称的目录。通过cd指令进入该目录。

cd terraform

然后,执行install 指令,这将会编译目录并将编译后的包移动到$GOPATH/bin/terraform目录中

go install

当您看到如下提示信息,则说明正在编译中。等待完成后即可进行下一步操作。

image

注意:如果提示zsh: command not found: go,则您需要先安装go的环境

最终,确保terraform目录在PATH中定义并可用。 PATH定义取决于您所使用的操作系统。

Mac或Linux

打印您的PATH配置

echo $PATH

将 Terraform 二进制文件移动到列出的位置之一。此命令假定二进制文件当前位于您的Downloads文件夹中并且您的PATH包含/usr/local/bin,但如果您的位置不同,您可以自定义命令中的目录。

mv ~/Downloads/terraform /usr/local/bin/

Windows

  1. 进入控制面板 -> 系统 -> 系统设置 -> 环境变量。

  2. 在系统变量中向下滚动,直到找到 PATH。

  3. 单击编辑并进行相应更改。

  4. 请务必在前一个末尾添加分号,如:c:\path;c:\path2

  5. 启动新控制台以使设置生效。

macOS Homebrew

Homebrew 是一款在Mac系统上经常使用的包安装工具。借助Homebrew可以通过简单的指令安装Terraform。

第一步,安装HashiCorp的tap,用来定义包在homebrew的位置。

brew tap hashicorp/tap

第二步,执行安装指令,安装Terraform

brew install hashicorp/tap/terraform
重要

安装指令将索引最新的版本并进行安装,如果在安装一段后希望更新到最新版本。可以通过重新执行upgrade指令进行。

更新最新版本的Terraform,首先需要更新Homebrew。

brew update

然后,运行upgrade指令更新到最新版本。

brew upgrade hashicorp/tap/terraform

Windows Chocolatey

Chocolatey是一款在Mac系统上经常使用的包安装工具。借助Chocolatey可以通过简单的指令安装Terraform。

choco install terraform

CloudShell

阿里云Cloud Shell是一款帮助您运维的免费产品,预装了Terraform的组件,您可直接在Cloud Shell中运行Terraform的命令。

首先,确保您有一个合法的、有相关权限的阿里云账号。

其次,打开浏览器,访问Cloud Shell的地址https://shell.aliyun.com

登录成功后,执行如下指令

terraform

您将看到,Terraform组件已经内置在CloudShell中,并且可以直接使用。

image

更多Cloud Shell使用方式,请参见使用云命令行

Linux

Alibaba Cloud Liunx

yum install -y dnf-plugin-releasever-adapter
yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
yum install terraform

image

image

验证安装

运行terraform验证路径配置。

terraform

命令运行后会显示可用的Terraform选项的列表,如下所示,表示安装完成。

image.png

常见问题

由于网络延迟等原因造成的 terraform init 超时,导致无法正常下载terraform。 可参见Terraform Init 加速方案配置