更新时间:2025-09-29 GMT+08:00
分享

Terraform配置指南

什么是Terraform

Terraform是一个开源的IT基础设施编排管理工具,通过Terraform您可以轻松的创建、管理、删除云容器实例资源,并对其进行版本控制。更多关于Terraform的介绍请参考Terraform产品介绍

安装Terraform

Terraform是以二进制可执行文件发布,您只需下载Terraform,然后将Terraform可执行文件所在目录添加到系统环境变量PATH中即可。

Terraform支持多个操作系统,如Linux、macOS、Windows等,您可以登录Terraform官网,下载对应操作系统的安装包,并将可执行Terraform文件添加至对应系统的环境变量中。

下文示例以Linux环境为例,进行Terraform安装说明。

  1. 登录Terraform官网,下载对应的Linux操作系统安装包。
  2. 在命令行中执行如下命令,解压安装包,赋予Terraform可执行权限,并放到PATH目录下。其中,$PATH为PATH路径(如/usr/local/bin),请替换为实际的值。
    unzip terraform_1.xx.x_
    chmod +x ./terraform
    mv ./terraform $PATH
  3. 在命令行中执行如下命令验证配置路径是否正确。
    terraform -version

    如果回显如下则说明配置正确,Terraform可以运行。

认证与鉴权

使用Terraform管理云容器实例资源前,您需要获取AK(Access Key)/SK(Secret Key),并在Terraform上进行配置,从而认证鉴权。

您可以使用静态凭据或环境变量两种方式配置Terraform。

使用静态凭据的认证方式比较简单,但需要将AK/SK以明文的形式存储在配置文件中,存在密钥泄露的安全隐患。推荐您使用环境变量的方式进行认证。

  • 静态凭据(Static credentials)
    provider "huaweicloud" {
      region      = "cn-north-4"
      access_key  = "my-access-key"
      seccret_key = "my-secret-key"
    }

    region:区域,急需要创建管理那个区域的资源。您可以单击此处查询华为云支持的区域。

    access_key:密钥ID,即AK。查询方法请参见访问密钥

    secret_key:访问密钥,即SK。查询方法请参见访问密钥

  • 环境变量(Environment variables)

    将region、AK/SK等参数设置为环境变量的方式进行认证。

    export HW_REGION_NAME="cn-north-4"
    export HW_ACCESS_KEY="my-access-key"
    export HW_SECRET_KEY="my-secret-key"

    HW_REGION_NAME:区域,即需要创建管理那个区域的资源。您可以单击此处查询华为云支持的区域。

    HW_ACCESS_KEY:密钥ID,即AK。查询方法请参见访问密钥

    HW_SECRET_KEY:访问密钥,即SK。查询方法请参见访问密钥

初始化工作目录

  1. 创建一个工作目录。
    mkdir test
  1. 在工作目录下创建“versions.tf”文件,指定华为云Provider的registry源和版本,文件内容如下:
    terraform {
      required_providers {
        huaweicloud = {
          source = "huaweicloud/huaweicloud"
          version = ">=1.xx.xx" # 待加载provider的版本,可通过`=`指定需要加载的版本,通过`>=`指定需要加载的最小provider版本,优先加载最新版本。
        }
      }
    }

    华为云Provider版本信息查询请参考【华为云 provider】。

  1. 创建“main.tf”文件,配置华为云Provider,文件内容如下:
    # Configure the HuaweiCloud Provider
    provider "huaweicloud" {
      region      = "cn-north-4"
      access_key  = "my-access-key"
      secret_key  = "my-secret-key"
    }

    示例内容为HuaweiCloud Provider的配置,包含认证鉴权的内容,请根据认证与鉴权配置相关参数;如果使用环境变量方式认证鉴权,可以省略该部分内容。

  2. 执行如下命令初始化。
    terraform init

    回显如下,首次执行时会下载HuaweiCloud Provider并安装。

    后续若需修改文件“versions.tf”或者“main.tf”文件配置信息,可通过如下命令进行升级。

    terraform init -upgrade

    正常情况下,通过terraform init命令将华为云provider下载到工作目录下。对于国内用户来说,该命令会消耗较长时间甚至失败。

    您可以手工下载华为云provider至本地目录,然后搭建本地registry并修改 terraform块中的required_providers配置,详情请参考:https://support.huaweicloud.com/terraform_faq/index.html

相关文档