Terraform 学习笔记(1)

Terraform 的安装很容易,从官方网站下载二进制文件解压以后 就能够直接使用了。
https://www.terraform.io/git

以windows为例的话,我为了在cmd里面直接使用,须要把下载解压后的文件加入到环境变量Path里面。github

使用的话,直接先看两个简单的例子。windows

例1 在指定的AWS 帐号里面建立一个新的EC2 实例,他有多种验证的方式,这里咱们使用最简单的静态密码验证(很是不安全)安全

https://registry.terraform.io/providers/hashicorp/aws/latest/docsapp

provider "aws" {
  region     = "us-west-2"
  access_key = "AK2342LKSDFJKSLFSDFX"
  secret_key = "fwssdjk22342lkshdsiwerwl1FaK82Fkz9"
}

resource "aws_instance" "myec2" {
  ami = "ami-0e999cbd62129e3b1"
  instance_type = "t2.micro
}

相关的文档能够在这里看见ide

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance学习

把这个文件保存为一个first_ec2.tf 文件。网站

而后切换到这个目录下面,执行 terraform init, 他会自动咱们下载咱们在tf文档里面定义的provider 的 插件,在上面的例子里面,我定义的是 "aws", 他就会自动下载对应的插件。我这里没有指定插件的版本,那么他会自动下载最新版本。插件

官方推荐,在使用的时候应该尽可能明确地定义版本号3d

Terraform 学习笔记(1)

执行init 以后的效果

Terraform 学习笔记(1)

初始化以后,而后执行 terraform plan, 他会检测tf文件,而后告诉你哪些资源进行了改变

Terraform 学习笔记(1)

若是检测无误,能够执行 terraform apply, 那么他就开始配置了

Terraform 学习笔记(1)

配置成功
Terraform 学习笔记(1)

例2 配置一个github的repository,他的方式和EC2 很相似,只不过是验证的方式略有不一样
https://registry.terraform.io/providers/integrations/github/latest/docs

provider "github" {
token = "574e72342kklfsfsf2d1359064f76ca85aac1"
}

resource "github_repository" "example" {
name = "terraform"
description = "terraform test "
visibility = "public"

}

https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository

一样的操做,能够看见成功建立了repository

Terraform 学习笔记(1)

当咱们执行上面的操做时候,他会自动建立、更新一个terraform.tfstate的文件

Terraform 学习笔记(1)

这个文件会自动保存咱们所建立资源的相关信息和属性,以便于追踪

Terraform 学习笔记(1)

若是说咱们对tf文档进行了修改,好比说我把上面的t2.micro 改为 t2.small,而后从新执行 terraform plan, terraform apply

Terraform 学习笔记(1)

能够看见对应的tfstate文件内容也变动了

Terraform 学习笔记(1)

若是咱们想删除建立的资源,能够用 terraform destory 来删除,若是只打算删除部分资源,能够经过-target里指定。可是通常说来,一个比较好的习惯是把不一样的资源放在不一样的文件夹里面,这样避免互相冲突。

Terraform 学习笔记(1)

相关文章
相关标签/搜索