安装 Azure Terraform Visual Studio Code 扩展

使用 Terraform 可以定义、预览和部署云基础结构。 使用 Terraform 时,请使用 HCL 语法来创建配置文件。 利用 HCL 语法,可指定 Azure 这样的云提供程序和构成云基础结构的元素。 创建配置文件后,请创建一个执行计划,利用该计划,可在部署基础结构更改之前先预览这些更改。 验证了更改后,请应用该执行计划以部署基础结构。

Visual Studio Code Terraform 扩展使你能够从编辑器中使用 Terraform。 使用此扩展,可以创作、测试和运行 Terraform 配置。

在这篇文章中,你将学会如何:

  • 安装 Azure Terraform Visual Studio Code 扩展
  • 使用扩展创建 Azure 资源组
  • 验证是否已创建资源组
  • 使用扩展完成测试后删除资源组

1.配置环境

  • Azure 订阅:如果没有 Azure 订阅,请在开始之前创建 一个免费帐户

2.安装 Azure Terraform Visual Studio Code 扩展

  1. 启动 Visual Studio Code。

  2. 在左侧菜单中,选择“ 扩展”,然后在搜索文本框中输入 Azure Terraform

    在插件市场中搜索 Visual Studio Code 扩展。

  3. 从扩展列表中,找到该 Azure Terraform 扩展。 (它应该是列出的第一个扩展)。

  4. 如果尚未安装该扩展,请选择该扩展的 “安装 ”选项。

    要点

    • 为 Azure Terraform 扩展选择 “安装 ”时,Visual Studio Code 会自动安装 Azure 帐户扩展。
    • Azure 帐户是 Azure Terraform 扩展的依赖项文件。 此文件用于向 Azure 和相关代码扩展进行身份验证。
  5. 若要确认扩展的安装,请在搜索文本框中输入 @installed 。 Azure Terraform 扩展和 Azure 帐户扩展都显示在已安装的扩展列表中。

    查看已安装的 Terraform 扩展。

现在可以从 Visual Studio Code 在 Cloud Shell 环境中运行所有受支持的 Terraform 命令。

3. 实现 Terraform 代码

  1. 创建用于测试和运行示例 Terraform 代码的目录,并将其设为当前目录。

  2. 创建名为 providers.tf 的文件并插入下列代码:

    terraform {
      required_providers {
        azurerm = {
          source  = "hashicorp/azurerm"
          version = "~>4.0"
        }
        random = {
          source  = "hashicorp/random"
          version = "~>3.0"
        }
      }
    }
    
    provider "azurerm" {
      features {}
    }
    
  3. 创建名为 main.tf 的文件并插入下列代码:

    # Create a random name for the resource group using random_pet
    resource "random_pet" "rg_name" {
      prefix = var.resource_group_name_prefix
    }
    
    # Create a resource group using the generated random name
    resource "azurerm_resource_group" "example" {
      ___location = var.resource_group_location
      name     = random_pet.rg_name.id
    }
    
  4. 创建一个名为 variables.tf 包含项目变量的文件,并插入以下代码:

    variable "resource_group_location" {
      type        = string
      default     = "eastus"
      description = "Location of the resource group."
    }
    
    variable "resource_group_name_prefix" {
      type        = string
      default     = "rg"
      description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription."
    }
    
  5. 创建一个名为 outputs.tf 包含项目变量的文件,并插入以下代码:

    output "resource_group_name" {
      value = azurerm_resource_group.example.name
    }
    

4.将代码推送到 Cloud Shell

  1. “视图 ”菜单中,选择 “命令面板...”

  2. 在“命令面板”文本框中,开始输入 Azure Terraform: Push 并在显示时选择它。

  3. 选择 “确定” 以确认 Cloud Shell 的打开。

    确认打开 Cloud Shell。

    要点

    • 满足您配置中azureTerraform.files定义的筛选器的工作区文件将被复制到 Cloud Shell。

5. 在 Visual Studio Code 中初始化 Terraform

  1. “视图 ”菜单中,选择 “命令面板...”

  2. 在“命令面板”文本框中,开始输入 Azure Terraform: Init 并在显示时选择它。

    要点

    • 选择此选项与从命令行运行 terraform init 相同,并初始化 Terraform 部署。
    • 此命令将下载创建 Azure 资源组所需的 Azure 模块。
  3. 按照提示安装任何依赖项,例如最新支持的 nodejs 版本。

  4. 如果在默认 Azure 订阅中首次使用 Cloud Shell,请按照提示配置环境。

6. 在 Visual Studio Code 中创建 Terraform 执行计划

  1. “视图 ”菜单中,选择 “命令面板...”

  2. 在“命令面板”文本框中,开始输入 Azure Terraform: Plan 并在显示时选择它。

    要点

    • 此命令运行 terraform 计划 ,以便从当前目录中的 Terraform 配置文件创建执行计划。

7. 在 Visual Studio Code 中应用 Terraform 执行计划

  1. “视图 ”菜单中,选择 “命令面板...”

  2. 在“命令面板”文本框中,开始输入 Azure Terraform: Apply 并在显示时选择它。

  3. 当系统提示进行确认时,请输入 yes 并按 <Enter>

8.验证结果

  1. “视图 ”菜单中,选择 “命令面板...”

  2. 在“命令面板”文本框中,开始输入 Azure: Open Bash in Cloud Shell 并在显示时选择它。

  3. 运行 az group show 以显示资源组。 将 <resource_group_name> 占位符替换为应用 Terraform 执行计划后显示的资源组的随机生成名称。

az group show --name <resource_group_name>

9.清理资源

  1. “视图 ”菜单中,选择 “命令面板...”

  2. 在“命令面板”文本框中,开始输入 Azure Terraform: Destroy 并在显示时选择它。

  3. 当系统提示进行确认时,请输入 yes 并按 <Enter>

  4. 若要确认 Terraform 已成功销毁新资源组,请运行该部分中的步骤, 验证结果

Azure 上的 Terraform 故障排除

排查在 Azure 上使用 Terraform 时遇到的常见问题

后续步骤