IaC基础设施即代码:Terraform 使用 provider 自定义提供者

目录

  一、实验

1.环境

2.Terraform 使用 provider 自定义提供者 (Resource)

3.Terraform 使用 provider 自定义提供者 (Module)


  一、实验

1.环境

(1)主机

表1-1 主机

主机系统软件工具备注
jia

Windows 

Terraform 1.6.6VS Code、 PowerShell、 Chocolatey

2.Terraform 使用 provider 自定义提供者 (Resource)

(1)查看项目

(2)主配置文件

main.tf ,资源里直接定义名称  provider   = alicloud.NJ

# Configure the Alicloud Provider 默认供应商
provider "alicloud" {access_key = var.access_keysecret_key = var.secret_keyregion     = "cn-hangzhou"
}provider "alicloud" {alias      = "NJ"access_key = var.access_keysecret_key = var.secret_keyregion     = "cn-nanjing"
}//VPC 专有网络
resource "alicloud_vpc" "vpc" {vpc_name   = "myvpc1"cidr_block = "172.79.0.0/16"
}resource "alicloud_vpc" "vpc2" {provider   = alicloud.NJvpc_name   = "myvpc2"cidr_block = "172.79.0.0/16"
}

(3) 版本配置文件

versions.tf

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

(4)变量配置文件

variables.tf

variable "access_key" {description = "access_key"}variable "secret_key" {description = "secret_key"
}

(5) 密钥配置文件

terraform.tfvars

(6)初始化

terraform init

(7)格式化代码

terraform fmt

(8)验证代码

terraform validate

(9)计划与预览

 terraform plan

(10)申请资源

terraform apply

(11)展示资源

terraform show

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

VPC已新增1个 (cn-hangzhou)

VPC已新增1个 (cn-nanjing)

(18)销毁资源

terraform destroy

3.Terraform 使用 provider 自定义提供者 (Module)

(1)查看项目

(2) moudule模块配置文件 

主配置文件main.tf

//VPC 专有网络
resource "alicloud_vpc" "vpc" {vpc_name   = var.vpc_namecidr_block = var.vpc_cidr_block
}

版本配置文件versions.tf

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

变量配置文件variables.tf

variable "vpc_name" {}variable "vpc_cidr_block" {}

(3)主配置文件

main.tf ,模块引用为map类型的键值对格式  providers = { alicloud = alicloud.NJ   }

# Configure the Alicloud Provider 默认供应商
provider "alicloud" {access_key = var.access_keysecret_key = var.secret_keyregion     = "cn-hangzhou"
}provider "alicloud" {alias      = "NJ"access_key = var.access_keysecret_key = var.secret_keyregion     = "cn-nanjing"
}module "myvpc" {source = "./vpc"vpc_name = "myvpc1"vpc_cidr_block = "172.78.0.0/16"providers = {alicloud = alicloud.NJ  }
}

(4) 版本配置文件

versions.tf

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

(5)变量配置文件

variables.tf

variable "access_key" {description = "access_key"}variable "secret_key" {description = "secret_key"
}

(6) 密钥配置文件

terraform.tfvars

(7)初始化

terraform init

(8)格式化代码

terraform fmt

(9)验证代码

terraform validate

(10)计划与预览

 terraform plan

(11)申请资源

terraform apply

(12)展示资源

terraform show

(13)登录阿里云系统查看VPC

VPC已新增1个 (cn-nanjing)

(14) 销毁资源

terraform destroy

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/416705.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入数仓离线数据同步:问题分析与优化措施

一、前言 在数据仓库领域,离线数仓和实时数仓是常见的两种架构类型。离线数仓一般通过定时任务在特定时间点(通常是凌晨)将业务数据同步到数据仓库中。这种方式适用于对数据实时性要求不高,更侧重于历史数据分析和报告生成的场景…

2024.1.20每日一题

LeetCode 2788.按分隔符拆分字符串 2788. 按分隔符拆分字符串 - 力扣(LeetCode) 题目描述 给你一个字符串数组 words 和一个字符 separator ,请你按 separator 拆分 words 中的每个字符串。 返回一个由拆分后的新字符串组成的字符串数组…

【Python】人工智能-机器学习——不调库手撕演化算法解决函数最小值问题

1 作业内容描述 1.1 背景 现在有一个函数 3 − s i n 2 ( j x 1 ) − s i n 2 ( j x 2 ) 3-sin^2(jx_1)-sin^2(jx_2) 3−sin2(jx1​)−sin2(jx2​),有两个变量 x 1 x_1 x1​ 和 x 2 x_2 x2​,它们的定义域为 x 1 , x 2 ∈ [ 0 , 6 ] x_1,x_2\in[0,6] …

Linux 【C编程】 引入线程,线程相关函数

1.线程的引入 1.1使用线程同时读取键盘和鼠标 代码演示&#xff1a; #include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <unistd.h> #include <termios.h> #include <fcntl.h> #include <string.h> // 读取…

爬取的数据可以入表吗?怎样入表?

合规是数据入表的前提。当前爬虫数据是非常敏感的&#xff0c;因为爬虫极容易造成两大不合规的问题&#xff1a;一是没有经过个人同意获取数据&#xff0c;二是爬取的数据里可能含有个人敏感信息也是一个问题。现在法律对于这部分非常严苛&#xff0c;如果企业里有50条未获得授…

Pytest系列(2) - assert断言详细使用

前言 与unittest不同&#xff0c;pytest使用的是python自带的assert关键字来进行断言assert关键字后面可以接一个表达式&#xff0c;只要表达式的最终结果为True&#xff0c;那么断言通过&#xff0c;用例执行成功&#xff0c;否则用例执行失败 assert小栗子 想在抛出异常之…

算数移位,逻辑移位以及循环移位

目录 一.算数移位 1.原码的算数移位一一符号位保持不变&#xff0c;仅对数值位进行移位 2.反码的算数移位 3.补码的算数移位 二.逻辑移位 三.循环移位 一.算数移位 1.原码的算数移位一一符号位保持不变&#xff0c;仅对数值位进行移位 算数移位是通过改变各个数码位和小…

vue二次封装ant-design-vue中的Modal弹窗组件,实现拖拽,全屏两种功能,原有参数属性不变

在我们的项目的有的地方需要用弹框的拖拽&#xff0c;以及弹窗自定义全屏显示的需求&#xff0c;所以再次将二次合一&#xff0c;同时弹框里面内容自适应屏幕高度 在ant-design-vue中&#xff0c;已经实现了拖拽&#xff0c;全屏的功能&#xff0c;下面是ant官网的示例 自定义…

宋仕强论道之再混华强北(三十五)

我是2012年重新回到华强北的&#xff0c;宋仕强说来深圳市第一份工作就在华强北担任一名工程师&#xff0c;和华强北有深厚的感情。我回来后经常混华强北的上层圈子跟老板老板娘们吹牛逼&#xff0c;最初大家看我穿的衣冠楚楚人模狗样的但态度吊儿郎当&#xff0c;理论一套一套…

K8s调试积累

文章目录 一、K8S 集群服务访问失败&#xff1f;二、K8S 集群服务访问失败&#xff1f;三、K8S 集群服务暴露失败&#xff1f;四、外网无法访问 K8S 集群提供的服务&#xff1f;五、pod 状态为 ErrImagePull&#xff1f;六、探测存活 pod 状态为 CrashLoopBackOff&#xff1f;七…

PDF.js - 免费开源的 JavaScript 读取、显示 PDF 文档的工具库,由 Mozilla 开发并且持续维护

最近新项目需要处理 PDF&#xff0c;研究了 PDf.js 之后觉得很不错&#xff0c;于是写篇文章推荐给大家。 PDF.js 的功能和它的名字一样简单&#xff0c;是一个使用 HTML5 技术来让前端网页支持读取、解析和显示 PDF 文档的 JS 工具库。这个项目由大名鼎鼎的 Mozilla 组织开发…

离线数据仓库-关于增量和全量

数据同步策略 数据仓库同步策略概述一、数据的全量同步二、数据的增量同步三、数据同步策略的选择 数据仓库同步策略概述 应用系统所产生的业务数据是数据仓库的重要数据来源&#xff0c;我们需要每日定时从业务数据库中抽取数据&#xff0c;传输到数据仓库中&#xff0c;之后…