全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

安装配置Terraform

最近更新时间:2024-01-23 17:04:31

Terraform介绍

Terraform是一种开源工具,用于安全高效地预配和管理云基础设施,支持多家云服务提供商。以代码的形式将所要管理的资源定义在模板中,通过解析并执行模板来自动化完成所定义资源的创建,变更和管理,进而达到自动化运维的目标。

本项目已经发布在Github,如本文中没有覆盖到的示例可以参考github example内容。

注意:
terraform v0.12 版本的配置文件与v0.11 版本的配置文件格式不同。该example下的配置文件是基于v0.11.13开发的。若想使用v0.12版本的terraform需对配置文件进行修改,该修改不需手动修改,terraform支持自动修改。可在配置文件目录下直接执行:

# terraform 0.12upgrade

1. 下载Terraform

官方提供了最新版本的Terraform,用户可以选择适合自己开发环境的下载包。若要安装其它的Terraform版本,请自行更改下载链接。

本文以Mac系统为例,输入下载安装命令。

$ mkdir workstation && cd workstation
// 下载Terraform
$ curl -O https://releases.hashicorp.com/terraform/1.5.2/terraform_1.5.2_darwin_arm64.zip
 
// 解压缩terraform文件
$ unzip terraform_1.5.2_darwin_arm64.zip
image.png

2. 配置环境变量

$ echo export PATH=$(PWD):$PATH >> ~/.bash_profile
$ source ~/.bash_profile

验证terraform是否安装成功

$ terraform version
image.png

3. 安装金山云插件

当前已完成Terraform官方认证,Terraform金山云官方地址。插件的安装有两种方式:自动安装和手动安装。

3.1 terraform init 自动安装

创建工作目录
$ mkdir terraform-ksyun
$ cd terraform-ksyun
# 创建terraform 配置文件
$ touch provider.tf
在文件中写入
terraform {
    required_providers {
    ksyun = {
        source = "kingsoftcloud/ksyun"
        }
    }
}
初始化工作目录
$ terraform init
image.png

3.2 手动安装

插件下载地址
  • Linux、Mac平台,下载后将其拷贝到terraform的plugin-cache目录(~/.terraform.d/plugin-cache)并且创建terraform对应插件目录,即可完成配置工作(需要解压缩)。
    注意:首次安装需要在~/.terraform.d 目录下手动创建plugin-cache文件夹。

  • Windows平台,下载后将其拷贝到terraform的plugins目录(%APPDATA%\terraform.d\plugin-cache)即可完成配置工作。

$ mkdir ~/.terraform.d/plugin-cache
image.png

解压安装包完成配置。

$ cd ~/.terraform.d/plugin-cache
$ unzip terraform-provider-ksyun_1.4.0_darwin_arm64.zip
image.png

手动安装Ksyun Provider插件需要构造terraform插件目录,参考命令

注意:目录构建中的版本对应

$ mkdir -p ~/.terraform.d/plugin-cache/registry.terraform.io/kingsoftcloud/ksyun/1.4.0/darwin_arm64
$ mv terraform-provider-ksyun_v1.4.0 ~/.terraform.d/plugin-cache/registry.terraform.io/kingsoftcloud/ksyun/1.4.0/darwin_arm64
image.png
创建工作目录
$ mkdir terraform-ksyun
 
# 创建terraform 配置文件
$ touch provider.tf
在文件中写入
terraform {
    required_providers {
      ksyun = {
        source = "kingsoftcloud/ksyun"
      }
    }
}
初始化工作目录(需要手动指定插件目录,否则terraform会自动在仓库中搜索)
$ terraform init --plugin-dir=$HOME/.terraform.d/plugin-cache

4. 配置金山云Provider

【Provider】 是一个与Open API直接交互的后端驱动,Terraform就是通过Provider来完成对基础设施资源的管理的。不同的基础设施提供商都需要提供一个Provider来实现对自家基础设施的统一管理。

登录控制台获取账号ak/sk密钥。

image.png

因为每个Terraform项目都需要一个独立的执行目录,所以我们可以先创建一个新的目录,目录名称terraform-ksyun,若已创建工作目录,则可直接修改配置文件。

$ mkdir terraform-ksyun // 若已创建,则忽略该步骤
$ cd terraform-ksyun
$ touch provider.tf  // 创建terraform配置文件
image.png

进入新建目录,创建provider配置文件。Terraform在运行时,会读取该目录空间下所有*.tf和*.tfvars文件。因此,您可以按照实际用途将配置信息写入到不同的文件中。

创建 provider.tf 文件,需要按以下格式配置您的身份认证信息:

在provider.tf 文件写入以下内容

terraform {
    required_providers {
    ksyun = {
        source = "kingsoftcloud/ksyun"
        }
    }
}
 
provider "ksyun" {
   access_key = "AKLT7Nj7p******"
   secret_key = "OCd8XJrX+******"
   region = "cn-beijing-6" //机房信息
}
 
// 查看当前账号下的instance
data "ksyun_instances" "foo" {
  output_file = "output_result" // 查询结果输出到该文件
}
 
output "instances" {
  value = data.ksyun_instances.foo.total_count
}
 

执行terraform plan,检查是否配置成功,若输出如下信息,则配置成功

image.png

更多操作请查看Ksyun Provider 官方文档

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈