terraform基本介绍

Terraform是一个IAC(Infrustracture as Code)工具,可以通过编写易读代码来操作云和物理机上的各种资源。在资源生命周期中,可以通过统一的工作流来对他们进行统一管理。Terraform提供了1700多个providers用来管理不同的资源的服务。

Terraform如何工作?

terraform通过API来创建和管理各种云平台上的资源和其他的应用程序。如下图
在这里插入图片描述

Terraform一个基本的工作流程通常由5个部分组成,分别是write, init, plan, apply, destory,其中最重要的三个核心工作流是write, plan和apply。
write:主要包括通过配置语言来编写和定义各种资源。
plan:对于编写的代码进行预运行,审查一下这些代码运行结果跟定义时想的是不是一样
apply:通过调用各种不同的provider提供的api真正的操作各种云平台资源和各种服务。
在这里插入图片描述

Terraform术语

术语基本介绍
Provider又称为Plugin,主要用来跟其他的服务进行交互从而实现资源管理,服务安装等
ModuleModule是一个将多种资源整合到一起的一个容器,一个module由一些列的.tf或者.tf.json后缀文件组成
Resource主要用来定义各种资源或者服务,而这些服务就组成了我们的基础设施架构
RegistryProvider仓库,主要用来存储各种的provider,同时我们也会从Registry下载本地定义的provider到本地

Terraform版本

Terraform提供了三个不同的版本,分别是Open Source版本,Cloud版本和Enterprise版本。下面我们对三个版本进行简单对比

版本基本介绍
Open Source这个版本主要采用IAC,通过定义通用配置语言来提供上千种不同类型的资源和服务 ; 将基础设置代码话,这样我们可以通过版本控制系统来管理这些代码,方便维护;使用module(公共基础架构模版)来实现企业内部基础架构的管理
Cloud这个版本是一个SaaS的应用程序来保证terraform运行在一个稳定,远程的环境中,同时他包含了更丰富的用户接口来帮助你更好的理解terraform的操作和资源,同时该版本提供了权限控制,同时支持私有仓库用来存储内部的modules和providers)。同时可以跟Terraform CLI进行整合
Enterprise该版本可以设置私有的Terraform Cloud,同时会有HashiCorp的支持,另外能满足企业更高的安全要求

版权声明:本文为qinwuxian19891211原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。