最近更新时间:2024-01-23 17:04:31
Terraform是一种开源工具,用于安全高效地预配和管理云基础设施,支持多家云服务提供商。以代码的形式将所要管理的资源定义在模板中,通过解析并执行模板来自动化完成所定义资源的创建,变更和管理,进而达到自动化运维的目标。
本项目已经发布在Github,如本文中没有覆盖到的示例可以参考github example内容。
注意:
terraform v0.12 版本的配置文件与v0.11 版本的配置文件格式不同。该example下的配置文件是基于v0.11.13开发的。若想使用v0.12版本的terraform需对配置文件进行修改,该修改不需手动修改,terraform支持自动修改。可在配置文件目录下直接执行:
# terraform 0.12upgrade
官方提供了最新版本的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
$ echo export PATH=$(PWD):$PATH >> ~/.bash_profile
$ source ~/.bash_profile
验证terraform是否安装成功
$ terraform version
当前已完成Terraform官方认证,Terraform金山云官方地址。插件的安装有两种方式:自动安装和手动安装。
$ mkdir terraform-ksyun
$ cd terraform-ksyun
# 创建terraform 配置文件
$ touch provider.tf
terraform {
required_providers {
ksyun = {
source = "kingsoftcloud/ksyun"
}
}
}
$ terraform init
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
解压安装包完成配置。
$ cd ~/.terraform.d/plugin-cache
$ unzip terraform-provider-ksyun_1.4.0_darwin_arm64.zip
手动安装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
$ mkdir terraform-ksyun
# 创建terraform 配置文件
$ touch provider.tf
terraform {
required_providers {
ksyun = {
source = "kingsoftcloud/ksyun"
}
}
}
$ terraform init --plugin-dir=$HOME/.terraform.d/plugin-cache
【Provider】 是一个与Open API直接交互的后端驱动,Terraform就是通过Provider来完成对基础设施资源的管理的。不同的基础设施提供商都需要提供一个Provider来实现对自家基础设施的统一管理。
登录控制台获取账号ak/sk密钥。
因为每个Terraform项目都需要一个独立的执行目录,所以我们可以先创建一个新的目录,目录名称terraform-ksyun,若已创建工作目录,则可直接修改配置文件。
$ mkdir terraform-ksyun // 若已创建,则忽略该步骤
$ cd terraform-ksyun
$ touch provider.tf // 创建terraform配置文件
进入新建目录,创建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
,检查是否配置成功,若输出如下信息,则配置成功
更多操作请查看Ksyun Provider 官方文档
纯净模式