Terraform - 初解Terraform - 简介

news/2024/9/19 16:56:10/文章来源:https://www.cnblogs.com/anliven/p/18374858

前言

云计算
主要提供计算服务,例如服务器、存储、数据库、网络等等;
对于云服务,通常只需使用多少支付多少,从而帮助降低运营成本,使基础设施更有效地运行,并能根据业务需求的变化调整对服务的使用。

  • 公有云: 多租户面向个人或企业由第三方云服务商托管和运营。
  • 私有云: 专供一个企业或组织使用的云计算资源。私有云可以位于公司的数据中心。(自建或云供应商)
  • 混合云: 组合公有云和私有云,通过云之间进行共享数据。

基础设施即代码
传统情况下,通过云供应商提供的基础设施资源管理控制台的页面来管理各种资源。
但GUI页面操作会带来一些问题:在多云或多个环境中变更多套复杂环境,易出现操作重复、人为失误,配置不一致等。
通过IaC(Infrastructure as Code,基础设施即代码)可以很好解决以上问题,
IaC将基础设施管理纳入应用程序的生命周期中,使用代码来管理和配置基础设施资源。
IaC允许开发者使用版本控制和自动化工具来部署和管理基础设施,就像管理软件代码一样。


Terraform简介

https://www.terraform.io/

  • 一个强大的开源基础设施即代码工具,定义、部署和管理基础设施
  • 通过编写(Write)、计划(Plan)、应用(Apply)声明式配置文件来操作API接口
  • 可在配置文件中定义云和本地资源,可以对其进行版本控制,重用和共享
  • 提供一致的CLI工作流在整个生命周期内配置和管理所有基础架构及云服务
  • 可以管理DNS条目、Saas功能等高級组件和计算、存储和网络资源等低级组件

Terraform解决的问题

Terraform 提供了一种统一的、受版本控制的基础架构管理方法。
解决了手工设置和管理基础架构的经常出现的配置不一致、重复操作和人为错误等问题。
可以简易、灵活、可靠地扩展和管理复杂系统。

选择Terraform的理由

  • 强大的社区
  • 可以管理任何基础设施
  • 对基础设施版本管理并跟踪
  • 无需考虑底层逻辑,仅需声明配置
  • 多云架构基础设施部署
  • 创建河重用的基础架构
  • 高效地基础架构扩展和部署

Terraform工作原理和流程


Terraform 就是通过Provider来完成对基础设施资源的管理的。
Provider是一个与Open API直接交互的后端驱动。
不同的基础设施提供商需要对应的Provider来实现对自家基础设施的统一管理。

  • Terraform 通过其应用程序编程接口(API) 在云平台和其他服务上创建和管理资源。
  • Provider使Terrraform 能够通过可访问的 API 与几乎任何平台或服务一起工作。
  • HashiCorp官方和Terraform社区已经编写了大量的Provider来管理数千种不同类型的资源和服务。
  • https://registry.terraform.io/browse/providers

在实际操作中,Terraform和Provider是两个独立存在的package。
Terraform会在运行时根据用户模板中指定的provider或者resource、datasource的标志自动下载配置所用到的所有provider,并将其放在执行目录下的一个隐藏目录.terraform下。

Terraform核心工作流程
1.Write阶段,即定义所需要的资源。这些资源可以是跨越多个云提供商和服务。
2.Plan阶段,Terraform 创建一个执行计划。将根据配置文件创建、更新或销毁基础架构。
3.Apply阶段,在批准后Terraform会按照资源依赖关系顺序执行。

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

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

相关文章

045、Vue3+TypeScript基础,pinia库中使用$subscribe订阅数据变动

01、main.js代码如下:// 引入createApp用于创建Vue实例 import {createApp} from vue // 引入App.vue根组件 import App from ./App.vue//第一步:引入pinia import {createPinia} from piniaconst app = createApp(App);//第二步:创建pinia实例 const pinia = createPinia()…

爬虫案例1-爬取图片的三种方式之一:DrissionPage篇(3)

继requests篇和selenium篇,本文是爬取图片的最后一个案例,利用了python第三方库DrissionPage来自动化爬取图片。当然,爬取图片肯定不止这三种方法,还有基于python的scrapy框架,基于node.js的express框架以及基于Java的webmagic框架等等。 DrissionPage和selenium相似,都是…

HtmlUnit:自动化操作web页面的java工具

java有httpclient等工具,可以模拟进行一些web操作,但一些逻辑是在前端js中执行的,此时httpclient就比较困难了。 此时可以考虑使用HtmlUnit,模拟出一个浏览器,全程在浏览器中操作。本文以 在百度中输入搜索关键字->点击“百度一下” 按钮->打印搜索结果 这一过程为例…

nginx代理服务

Nginx****代理服务代理区别 区别在于代理的对象不⼀样 正向代理代理的对象是客户端 反向代理代理的对象是服务端 2.Nginx****负载均衡2.2Nginx****负载均衡状态配置 backup max_conns 测试 backup 以及 down 状态 当⼀个后端服务器被标记为 backup 时,它将仅作为备⽤服务器使⽤…

声音克隆GPT-SoVITS 2.0软件和详细的使用教程!

天命人,请允许我先蹭个热点! 原始声音: 播放 克隆声音: 播放 文章写了一半,被《黑神话悟空》刷屏了。突发奇想,用里面的声音来做个素材试试看。B站捞了一点声音素材,随便剪一剪,训练一把过,没有调优,就直接拿来用了。情绪还差点意思,音色克隆的还不错。 下面进入正…

手机轰炸机 短信轰炸 可匣 二90二1243交流

使用 fiddler 抓包 获取到了 100+个 发送短信验证的接口 使用自己手机试了一下 速度非常快。因为是同时迸发,所以导致手机短信量一瞬间到了100+ 但是会导致一个问题,就是无感知情况 于是调整接口请求方式,设置异步请求,间隔3s钟,这次以后会达到一个比较好的效果 没办法上传…

元宇宙虚拟展厅_元宇宙线上展馆制作成本有哪些?

在元宇宙中制作虚拟展厅的成本可能因多种因素而有很大差异,包括复杂程度、定制、大小、平台以及所提供的支持和服务水平,企业在决定是否在元宇宙中制作虚拟展厅时应仔细考虑自身需求和预算,并应寻找经验丰富的开发公司和具有成功合作的平台,以确保获得最佳结果.目前,3DCAT已…

利用两个IO口检测6个按键

利用两个IO口检测6个按键用两个IO口扫描6个按键,原理图与扫描程序。 先贴上原理图:以下为思路: 将两个IO口配置为上拉输出(STM32中)或者初始化输出高电平、 1、首先:IO1,IO2输出高电平。 S1按下,电流方向由R1流向GND,此时IO1为低电平。S2按下,电流方向由R2流向GND,此…

织梦dedecms上传服务器后数据连接失败怎么办

当织梦DeDeCMS上传到服务器后出现数据连接失败的问题时,可以采取以下几个步骤来解决这个问题: 1. 检查数据库连接信息打开common.inc.php文件:在织梦CMS的 data 文件夹中找到 common.inc.php 文件。 修改数据库连接信息:数据库服务器地址:确认数据库服务器地址是否正确,例…

织梦DEDECMS怎么实现鼠标移到标题显示完整的title

在织梦DeDeCMS中,实现鼠标移到标题时显示完整的title可以通过修改模板文件中的标签来完成。下面是一种简单的方法来实现这一功能:步骤 1: 找到需要修改的模板文件 打开您需要修改的模板文件,通常这些文件位于 templets 文件夹中。 寻找包含文章标题的地方,例如在列表页模板…

帝国cms如何隐藏前台信息数据

帝国CMS隐藏前台信息数据的方法 隐藏数据库信息在 e/config/config.php 中找到 AllowShowData 参数并将其设置为 false。 登录后台,在 系统管理 → 系统配置 中,选择 栏目 选项卡,将 显示记录数 和 显示栏目索引 设置为 0。隐藏后台登录页面在 e/config/config.php 中找到 a…

织梦dedecms简单吗

织梦DeDeCMS是一款简单且实用的开源网站管理系统,它非常适合个人站长、中小企业和学校等用户使用。以下是织梦DeDeCMS的一些特点,说明它的简单性: 简单安装一键安装:织梦CMS提供了一键安装功能,只需要按照提示完成几步即可快速安装。 无需专业知识:安装过程简单直观,不需…