使用 Terraform 可以定义、预览和部署云基础结构。 使用 Terraform 时,请使用 HCL 语法来创建配置文件。 利用 HCL 语法,可指定 Azure 这样的云提供程序和构成云基础结构的元素。 创建配置文件后,请创建一个执行计划,利用该计划,可在部署基础结构更改之前先预览这些更改。 验证了更改后,请应用该执行计划以部署基础结构。
本文介绍如何使用 Cloud Shell 和 PowerShell 在 Azure 上开始使用 Terraform 。
在这篇文章中,你将学会如何:
- 配置 Cloud Shell
- 了解常见的 Terraform 和 Azure 身份验证方案
- 通过 Cloud Shell 中的Microsoft帐户进行身份验证(使用 Bash 或 PowerShell)
- 通过 Windows 中的Microsoft帐户进行身份验证(使用 Bash 或 PowerShell)
- 使用 Azure CLI 创建服务主体
- 使用 Azure PowerShell 创建服务主体
- 在环境变量中指定服务主体凭据
- 在 Terraform 提供程序块中指定服务主体凭据
1.配置环境
- Azure 订阅:如果没有 Azure 订阅,请在开始之前创建 一个免费帐户 。
2. 打开 Cloud Shell
如果已打开 Cloud Shell 会话,可以跳到下一部分。
浏览到 Azure 门户
如有必要,请登录到 Azure 订阅并更改 Azure 目录。
打开 Cloud Shell。
如果以前未使用 Cloud Shell,请配置环境和存储设置。
选择命令行环境。
3.在 Azure Cloud Shell 中安装最新版本的 Terraform
Cloud Shell 自动更新到最新版本的 Terraform。 但是,这些更新在发布后的几周内出现。 本文介绍如何下载并安装当前版本的 Terraform。
确定 Cloud Shell 中使用的 Terraform 版本。
terraform version
如果 Cloud Shell 中安装的 Terraform 版本不是最新版本,则会看到一条消息,指示 Terraform 的版本已过期。
如果您对使用指示的版本感到满意,请跳到下一部分。 否则,请继续执行以下步骤。
浏览到 Terraform 下载页面。
向下滚动到 Linux 下载链接。
将鼠标移到 64 位 链接上。 此链接适用于适用于 Cloud Shell 的最新 64 位 Linux AMD 版本。
复制 URL。
运行
curl
,将占位符替换为上一步中的 URL。curl -O <terraform_download_url>
解压缩 文件。
unzip <zip_file_downloaded_in_previous_step>
如果该目录不存在,请创建名为 的
bin
目录。mkdir bin
将
terraform
文件移动到bin
目录中。mv terraform bin/
关闭并重启 Cloud Shell。
验证下载的 Terraform 版本是否在路径中处于首位。
terraform version
4.验证默认 Azure 订阅
使用 Microsoft 帐户登录到 Azure 门户时,将使用该帐户的默认 Azure 订阅。
Terraform 使用默认 Azure 订阅中的信息自动进行身份验证。
运行 az account show 以验证当前Microsoft帐户和 Azure 订阅。
az account show
通过 Terraform 所做的任何更改都显示在显示的 Azure 订阅上。 如果这是你想要的,请跳过本文的其余部分。
Azure 上的 Terraform 故障排除
排查在 Azure 上使用 Terraform 时遇到的常见问题