Terraform 初体验
在使用 Terraform 之前,需要先在对应的云厂商控制台上生成一个 Access Key,这里以在 AWS 上创建一个 S3 服务为例。
首先新建一个文件夹,例如 demo 文件夹,接着在里面创建一个 s3demo.tf 文件,文件内容如下:
provider "aws" {
region = "us-west-1"
access_key = "your-access-key"
secret_key = "your-secret-key"
}
resource "aws_s3_bucket" "b" {
bucket = "my-tf-test-bucket-asdqqsdasd"
tags = {
Name = "My bucket"
Environment = "Dev"
}
}
resource "aws_s3_bucket_acl" "example" {
bucket = aws_s3_bucket.b.id
acl = "private"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
tf 文件采用的是 HCL 格式,HCL 格式是 Terraform 所属公司 HashiCorp 自己设计的一套配置语言
在 demo 文件夹下,运行一下初始化命令,这时 Terraform 会通过官方插件仓库下载对应的 Provider 插件
terraform init
1
因为我们这里的 s3demo.tf 里的 Provider 是 AWS,所以在初始化时,Terraform 就会去下载 AWS 的 Provider 插件
在 https://registry.terraform.io/browse/providers 可以看到 Terraform 所支持的厂商,这里基本上是涵盖了大部分云厂商的。
接着使用 plan 命令查看接下来将要产生的变更
terraform plan
1
如果没什么问题,就可以应用了
terraform apply
1
中途会提示确认,输入 yes 即可
在 Terraform 执行完之后,查看 AWS 下的 S3 就可以看到刚刚通过 Terraform 创建的资源了。
这样就完成了使用 Terraform 部署云资源的一个过程,想要清理刚刚创建的资源也非常简单,直接 destroy 即可
terraform destroy
1