本教程适用于以下操作系统版本
- Ubuntu 22.04(Jammy Jellyfish)
- Ubuntu 20.04(Focal Fossa)
- Ubuntu 18.04(Bionic Beaver)
本页内容
- 先决条件
- 通过 Ubuntu 软件仓库安装 Terraform
- 从源码安装 Terraform
- 安装 Terraform 的“自动补全”功能
- 如何使用 Terraform
- 总结
Terraform 是一款开源的基础设施自动化工具,可通过命令行界面部署和管理数百台服务器。借助 Terraform,你可以通过在易于阅读的配置文件中定义配置,来构建、变更和管理基础设施。它支持多种云服务商,例如 AWS、Azure、GCP 和阿里云。Terraform 让你能够自动化地配置服务器、数据库、防火墙、负载均衡器等资源。
本教程将介绍如何在 Ubuntu 22.04 上安装 Terraform。
先决条件
- 一台运行 Ubuntu 22.04 的服务器。
- 服务器上已配置 root 密码。
通过 Ubuntu 软件仓库安装 Terraform
默认情况下,Ubuntu 22.04 的默认软件仓库中不包含 Terraform 软件包。因此,你需要将 Terraform 官方仓库添加到系统中。
首先,使用以下命令添加所有必需的依赖项:
apt install -y gnupg software-properties-common curl -y
安装完所有依赖项后,使用以下命令添加 Terraform 的 GPG 密钥和软件仓库:
curl -fsSL https://apt.releases.hashicorp.com/gpg | apt-key add -
apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
添加仓库后,你可以使用以下命令安装 Terraform 软件包:
apt install terraform -y
安装成功后,使用以下命令验证 Terraform 版本:
terraform --version
你应该会看到如下输出:
Terraform v1.3.6 on linux_amd64
从源码安装 Terraform
你也可以从官网下载最新版本来安装 Terraform。
可以使用以下命令进行下载:
wget https://releases.hashicorp.com/terraform/1.3.6/terraform_1.3.6_linux_amd64.zip
下载完成后,使用以下命令解压下载的文件:
unzip terraform_1.3.6_linux_amd64.zip
接下来,将 Terraform 二进制文件移动到系统目录:
mv terraform /usr/bin/
现在你可以使用以下命令验证 Terraform 版本:
terraform --version
你将看到如下输出:
Terraform v1.3.6 on linux_amd64
安装 Terraform 的“自动补全”功能
“自动补全”功能可让你在按下 TAB 键后查看所有 Terraform 子命令。你可以使用以下命令安装该功能。
terraform -install-autocomplete
要启用“自动补全”功能,请退出并重新登录终端 shell,或运行以下命令:
source ~/.bashrc
接下来,运行 Terraform 命令并连按两次 TAB 键,以验证“自动补全”功能。
terraform
你应该会在如下输出中看到所有子命令:
apply env get init output push state untaint workspace console fmt graph login plan refresh taint validate destroy force-unlock import logout providers show test version
如何使用 Terraform
要使用 Terraform,首先为你的项目创建一个目录:
mkdir aws
接下来,进入项目目录并创建一个 Terraform 配置文件:
cd aws
nano main.tf
添加以下代码:
# Provider
provider "aws" {
access_key = ""
secret_key = ""
region = "us-west-1"
}
保存并关闭文件,然后使用以下命令初始化 Terraform:
terraform init
这会自动将 provider 配置下载到 .terraform 目录。
Initializing the backend... Initializing provider plugins... - Finding latest version of hashicorp/aws... - Installing hashicorp/aws v4.46.0... - Installed hashicorp/aws v4.46.0 (signed by HashiCorp) Terraform has created a lock file .terraform.lock.hcl to record the provider selections it made above. Include this file in your version control repository so that Terraform can guarantee to make the same selections by default when you run "terraform init" in the future. 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.
接下来,你需要定义资源、设置 AWS 变量,然后生成并查看执行计划。
你可以使用以下命令生成:
terraform plan
最后,使用以下命令构建并部署你的基础设施:
terraform apply
如果要销毁由 Terraform 管理的基础设施,请运行以下命令:
terraform destroy
总结
在本文中,我们介绍了如何在 Ubuntu 22.04 上安装 Terraform,并讲解了如何使用 Terraform 来调配 AWS 实例。现在你可以根据自己的云服务商创建自己的 Terraform 配置文件。如需更多信息,请访问 Terraform 文档页面。