自动化编排工具Terraform介绍(一)

Terraform是什么?:        

      Terraform 是 HashiCorp 公司旗下的 Provision Infrastructure 产品, 是 AWS APN Technology Partner 与 AWS DevOps Competency Partner。Terraform 是一个 IT 基础架构自动化编排工具,它的口号是“Write, Plan, and Create Infrastructure as Code”, 是一个“基础设施即代码”工具,类似于 AWS CloudFormation,允许您创建、更新和版本控制的 AWS 基础设施。
Terraform 基于 AWS Go SDK 进行构建,采用 HashiCorp 配置语言(HCL)对资源进行编排,具体的说就是可以用代码来管理维护 IT 资源,比如针对 AWS,我们可以用它创建、修改或删除 S3 Bucket、Lambda,、EC2、Kinesis、VPC 等各种资源。并且在真正运行之前可以看到执行计划(即干运行-dryrun)。由于状态保存到文件中,因此能够离线方式查看资源情况(前提是不要在 Terraform 之外对资源进行修改)。Terraform 配置的状态除了能够保存在本地文件中,也可以保存到 Consul, S3 等处。
Terraform 是一个高度可扩展的工具,通过 Provider 来扩展对新的基础架构的支持,几乎支持所有的云服务平台,AWS 只是 Terraform 内建 Providers 中的一种。

优势

  • 将基础结构部署到多个云

    Terraform适用于多云方案,将类似的基础结构部署到[AWS云、阿里云、腾讯云、华为云等等]、其他云提供商或者本地数据中心。开发人员能够使用相同的工具和相似的配置文件同时管理不同云提供商的资源。

  • 自动化管理基础结构

    Terraform能够创建配置文件的模板,以可重复、可预测的方式定义、预配和配置ECS资源,减少因人为因素导致的部署和管理错误。能够多次部署同一模板,创建相同的开发、测试和生产环境。

  • 基础架构即代码(Infrastructure as Code)

    可以用代码来管理维护资源。允许保存基础设施状态,从而使您能够跟踪对系统(基础设施即代码)中不同组件所做的更改,并与其他人共享这些配置 。

  • 降低开发成本

    您通过按需创建开发和部署环境来降低成本。并且,您可以在系统更改之前进行评估 

  • 在 Terraform 诞生之前,我们对 AWS 资源的操作主要依赖 Console、AWS CLI、SDK 或 Serverless。AWS CLI 什么都能做,但它是无状态的,必须明确用不同的命令来创建、修改和删除。Serverless 不是用来管理基础架构的,用 Lambda 创建资源是很麻烦的事。AWS 提供的 CloudFormation,虽然功能非常强大,但是大量的 JSON 代码阅读困难。

Terrafrom功能和作用:

功能点

  • IaC:infrastructure as code,用代码管理基础设施
  • 执行计划:显示terraform apply时执行的操作
  • 资源图:构建所有资源的图形
  • 变更自动化:基于执行计划和资源图,可以清晰知道要变更的内容和顺序 总结:terraform用于各类基础设施资源初始化,支持多种云平台,支持第三方服务对接

作用

  • 使用不同provider的API,包装抽象成Terraform的标准代码结构
  • 用户不需要了解每个云计算厂商的API细节,降低了部署难度

Terraform 的主要特点如下:

  • 基础架构代码(Infrastructure as Code)

  • 使用 HCL 高级配置语法描述基础架构。这样可以让数据中心的蓝图进行版本控制,像其他代码一样对待,基础设施可以共享和重用。

  • 执行计划(Execution Plans)

  • Terraform 有一个“planning”步骤,它生成一个执行计划。当调用时,执行计划显示所有的操作,能有效避免操作人口山水对基础设施的误操作。

  • 资源图表(Resource Graph)

  • Terraform 构建了所有资源的图形,并且并行化了任何非依赖资源的创建和修改。因此,Terraform 尽可能高效地构建基础架构,操作人员可以深入了解其基础架构中的依赖关系。

  • 更改自动化(Change Automation)

  • 复杂的变更集可以通过很少的人工交互应用到基础设施中,使用前面提到的执行计划和资源图表, 将清楚的知道 Terraform 发生的变化及顺序, 避免了许多可能的人为错误。

Terraform架构:

参考架构图:

简单使用流程:

说明
从上图我们可以看出terraform 的使用
tf 格式的编排文件
定义变量,定义输出(可选的)
编写主要的任务(main.tf)执行terraform 的操作(资源生命周期的处理)
init
plan
apply
destry

 Terraform是一个可以支持多种云环境,进行创建,更改、版本控制的工具。是一个Infra-As-Code的瑞士军刀级的工具。我们将Terraform在AWS上最佳实践架构方式和与一些其他工具进行整合的方法汇总成以下几篇文章。主要如下:

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

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

相关文章

优化时间流:区间调度问题的探索与解决

在浩如烟海的信息时代,时间的有效管理成为了一门不可或缺的艺术。无论是生活中的琐事,还是工作中的任务,时间都在无声地流逝,挑战着我们的智慧。正如时间在日常生活中具有的宝贵价值一样,在计算机科学领域,…

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM)

1.Ubuntu Qt 配置交叉编译环境 1.1 ubuntu 20.04安装Qt sudo apt-get install qtcreator 1.2 配置QT GCC配置同上 最后配置Kits 上面设置完成之后 ,设置Kits 中的Device(这是为了能够直接把项目部署到arm设备上) 点击NEXT之后会出现连接被拒绝,不用担…

USB Type-C端口集成式ESD静电保护方案 安全低成本

Type-C端口是根据USB3.x和USB4协议传输数据的,很容易受到电气过载(EOS)和静电放电(ESD)事件的影响。由于Type-C支持随意热插拔功能,其内部高集成度的芯片,更容易受到人体静电放电的伤害和损坏。…

Golang使用消息队列(RabbitMQ)

最近在使用Golang做了一个网盘项目(类似百度网盘),这个网盘项目有一个功能描述如下:用户会删除一个文件到垃圾回收站,回收站的文件有一个时间期限,比如24h,24h后数据库中记录和oss中文件会被删除…

使用端口映射实现Spring Boot服务端接口的公网远程调试:详细配置与步骤解析

文章目录 前言1. 本地环境搭建1.1 环境参数1.2 搭建springboot服务项目 2. 内网穿透2.1 安装配置cpolar内网穿透2.1.1 windows系统2.1.2 linux系统 2.2 创建隧道映射本地端口2.3 测试公网地址 3. 固定公网地址3.1 保留一个二级子域名3.2 配置二级子域名3.2 测试使用固定公网地址…

使用 Feature Flags 与可观测工具实现数据库灰度迁移

场景描述 很多企业会遇到数据库升级、或数据库迁移的情况,尤其是在自建数据库服务向云数据库服务、自建机房向云机房、旧数据库向新数据库迁移等场景。 然而,我们需要在整个移植过程中保证其稳定性、避免数据遗失、服务宕机等情况,最常见的移…

【Spring】一次性打包学透 Spring | 阿Q送书第五期

文章目录 如何竭尽可能确保大家学透Spring1. 内容全面且细致2. 主题实用且本土化3. 案例系统且完善4. 知识有趣且深刻 关于作者丁雪丰业内专家推图书热卖留言提前获赠书 不知从何时开始,Spring 这个词开始频繁地出现在 Java 服务端开发者的日常工作中,很…

BTP Integration Suite学习笔记 - (Unit4) Developing with SAP Integration Suite

详细指导还是要看官方文档 4. 云集成管理 4.1 云集成介绍 什么是云集成? 前三章讲了很多内容,但都不是最核心的,通常我们用CPI是让他实现原来PI/PO的功能的,是用来做集成的。这章才刚开始。 云集成有以下几个特性:…

Django进阶:DRF(Django REST framework)

什么是DRF? DRF即Django REST framework的缩写,官网上说:Django REST framework是一个强大而灵活的工具包,用于构建Web API。 简单来说:通过DRF创建API后,就可以通过HTTP请求来获取、创建、更新或删除数据(…

【SVN内网穿透】远程访问Linux SVN服务

文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…

SpringBoot整合阿里云OSS,实现图片上传

在项目中&#xff0c;将图片等文件资源上传到阿里云的OSS&#xff0c;减少服务器压力。 项目中导入阿里云的SDK <dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.10.2</version>…

在ubuntu+cpolar+rabbitMQ环境下,实现mq服务端远程访问

文章目录 前言1.安装erlang 语言2.安装rabbitMQ3. 内网穿透3.1 安装cpolar内网穿透(支持一键自动安装脚本)3.2 创建HTTP隧道 4. 公网远程连接5.固定公网TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 RabbitMQ是一个在 AMQP(高级消息队列协议)基…

开源的密码学工具库:openssl安装在docker容器环境Linux(ubuntu18.04)

OpenSSL&#xff08;Open Secure Socket Layer&#xff09;是一个开源的密码学工具库&#xff0c;它提供了一系列的加密、解密、认证和通信安全相关的功能。OpenSSL 最初是为了支持安全的网络通信而设计的&#xff0c;但后来它的功能逐渐扩展到了许多不同的领域&#xff0c;包括…

多核异构核间通信Mailbox vs rpmsg

目录 一、关键术语解释 二、Mailbox与rpmsg对比 三、rpmsg传输流程 异构核间数据通过共享内存实现数据传递&#xff0c;通过中断来触发发送、接收。 一、关键术语解释 IPC Inter-Processor Communication MailBox IP which provides queued interrupt mechanism for comm…

javaWeb第一课

前言&#xff1a; 先来说说本来写完了的聊天室的项目&#xff0c;然后后面凡尔赛不小心改错了的然后一个上午才发现的问题&#xff0c;真的很有必要总结一下&#xff0c;气死我了&#xff1a;关于要将这个ArrayList的某个类型要转换为数组&#xff0c;我刚开始这么写的&#x…

leetcode 118.杨辉三角

⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;https://leetcode.cn/problems/pascals-triangle/description/ 代码&#xff1a; class Solution { public:vector<vector<int>> generate(int numRows) {// 先开空间vector<vector<int>> v;v.…

【数据结构】C语言实现栈(详细解读)

前言: &#x1f4a5;&#x1f388;个人主页:​​​​​​Dream_Chaser&#xff5e; &#x1f388;&#x1f4a5; ✨✨专栏:http://t.csdn.cn/oXkBa ⛳⛳本篇内容:c语言数据结构--C语言实现栈 目录 什么是栈 栈的概念及结构 实现栈的方式 链表的优缺点: 顺序表的优缺点: 栈…

AI创作助手:介绍 TensorFlow 的基本概念和使用场景

目录 背景 环境测试 入门示例 背景 TensorFlow 是一个强大的开源框架&#xff0c;用于实现深度学习和人工智能模型。它最初由 Google 开发&#xff0c;现在已经成为广泛使用的机器学习框架之一。 TensorFlow 简单来说就是一个用于创建和运行机器学习模型的库。它的核心概念…

2023年骨传导耳机推荐,一文读懂骨传导运动耳机哪个牌子好!

这几年&#xff0c;耳机圈开始流行起骨传导耳机&#xff0c;这种耳机通过贴合耳道附近的颌骨通过振动传递声音到听觉神经&#xff0c;相比较入耳式耳机来说&#xff0c;更有利于耳道卫生&#xff0c;而且在听歌同时可保持对环境声的感知&#xff0c;深受不少运动达人的喜爱。我…

LVS之keepalived

1、keepalived 概述 总结&#xff1a;Keepalived 软件就是通过VRRP协议来实现高可用功能。 应用场景&#xff1a;企业应用中&#xff0c;单台服务器承担应用存在单点故障的危险 单点故障一旦发生&#xff0c;企业服务将发生中断&#xff0c;造成极大的危害 VRRP通信原理&…