IaC基础设施即代码:Terraform 使用for_each 创建资源副本

目录

  一、实验

1.环境

2.Terraform 使用 for_each 创建资源副本 (DNS)


  一、实验

1.环境

(1)主机

表1-1 主机

主机 系统 软件 工具 备注
jia

Windows 

Terraform 1.6.6 VS Code、 PowerShell、 Chocolatey

2.Terraform 使用 for_each 创建资源副本 (DNS)

(1)查看项目

IaC基础设施即代码:Terraform 使用for_each 创建资源副本_第1张图片

(2)函数配置文件

count.tf

locals {
  zone    = "maojing.site"
  records = ["server1", "server2", "server3"]
  #records = ["server1","server3"]
}

resource "alicloud_dns_record" "eachrecord" {
  for_each    = toset(local.records)
  name        = local.zone
  host_record = each.value
  type        = "A"
  value       = "192.168.1.1"
}

IaC基础设施即代码:Terraform 使用for_each 创建资源副本_第2张图片

(3) 版本配置文件

versions.tf

terraform {
  required_version = "1.6.6"
  required_providers {
    alicloud = {
      source  = "hashicorp/alicloud"
      version = "1.214.1"
    }
  }
}

IaC基础设施即代码:Terraform 使用for_each 创建资源副本_第3张图片

(4)变量配置文件

variables.tf

variable "access_key" {
  description = "access_key"

}

variable "secret_key" {
  description = "secret_key"
}

variable "region" {
  type        = string
  description = "region name"
  default     = "cn-hangzhou"
  sensitive   = true
}

IaC基础设施即代码:Terraform 使用for_each 创建资源副本_第4张图片

(5) 密钥配置文件

terraform.tfvars

IaC基础设施即代码:Terraform 使用for_each 创建资源副本_第5张图片

(6)登录阿里云系统查看域名

域名状态正常

目前域名解析为空

(7)初始化

terraform init

IaC基础设施即代码:Terraform 使用for_each 创建资源副本_第6张图片

(8)格式化代码

terraform fmt

(9)验证代码

terraform validate

(10)计划与预览

 terraform plan

IaC基础设施即代码:Terraform 使用for_each 创建资源副本_第7张图片

(11)申请资源

terraform apply

IaC基础设施即代码:Terraform 使用for_each 创建资源副本_第8张图片

(12)展示资源

terraform show

IaC基础设施即代码:Terraform 使用for_each 创建资源副本_第9张图片

(12)登录阿里云系统查看域名

域名解析已新增3个

IaC基础设施即代码:Terraform 使用for_each 创建资源副本_第10张图片

(13)修改函数配置文件

for_each.tf ,移除server2

locals {
  zone    = "maojing.site"
  #records = ["server1", "server2", "server3"]
  records = ["server1","server3"]
}

resource "alicloud_dns_record" "eachrecord" {
  for_each    = toset(local.records)
  name        = local.zone
  host_record = each.value
  type        = "A"
  value       = "192.168.1.1"
}

IaC基础设施即代码:Terraform 使用for_each 创建资源副本_第11张图片

 (14)计划与预览

 terraform plan

IaC基础设施即代码:Terraform 使用for_each 创建资源副本_第12张图片

(15) 申请资源

terraform apply

IaC基础设施即代码:Terraform 使用for_each 创建资源副本_第13张图片

(16) 展示资源

terraform show

IaC基础设施即代码:Terraform 使用for_each 创建资源副本_第14张图片

(17)登录阿里云系统查看域名

server2域名解析已移除

IaC基础设施即代码:Terraform 使用for_each 创建资源副本_第15张图片

(18)销毁资源

terraform destroy

IaC基础设施即代码:Terraform 使用for_each 创建资源副本_第16张图片

(19)登录阿里云系统查看域名

域名解析已清空

IaC基础设施即代码:Terraform 使用for_each 创建资源副本_第17张图片

你可能感兴趣的:(IaC基础设施即代码,terraform,云原生,云计算,运维)