Terraform - 一个用于安全、高效地构建、更改和版本控制基础设施的工具

大家好,又见面了,我是 GitHub 精选君!

背景介绍

在日常的 IT 运维工作中,我们经常会遇到需要频繁创建、更改和优化基础设施的问题。这个过程中,我们需要处理大量的 API,编写复杂的配置文件,而且这些工作往往需要团队成员之间进行共享和协作。这个过程中的任何一个环节出现错误,都可能导致整个基础设施的运行出现问题。这是一个非常核心,日常经常碰到的痛点。

今天要给大家推荐一个 GitHub 开源项目 hashicorp/terraform,该项目在 GitHub 有超过 38.7k Star,用一句话介绍该项目就是:“Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.”。

项目介绍

Terraform 是一个用于安全、高效地构建、更改和版本控制基础设施的工具。它可以管理现有的市面上主流的云服务提供商,以及定制的内部解决方案。Terraform 的主要特点包括:

1、基础设施即代码:基础设施使用高级配置语法进行描述,这样可以将数据中心的蓝图进行版本控制,就像处理其他代码一样。此外,基础设施可以被共享和重用。

2、执行计划:Terraform 有一个 “规划” 步骤,它会生成一个执行计划。执行计划显示了当你调用 apply 时 Terraform 将做什么。这让你在 Terraform 操作基础设施时可以避免任何意外。

3、资源图:Terraform 会构建一个包含所有资源的图,并并行创建和修改任何非依赖资源。因此,Terraform 可以尽可能高效地构建基础设施,操作员可以了解到他们基础设施中的依赖关系。

4、变更自动化:可以将复杂的变更集应用到你的基础设施,几乎不需要人为干预。有了前面提到的执行计划和资源图,你可以清楚地知道 Terraform 将做什么改变,以及改变的顺序,从而避免许多可能的人为错误。

下图是 Terraform 的工作原理,通过定制开发的 Provider 解耦与底层基础设施的交互依赖。

对应的 Plan 和 Apply 的转化过程描述。

如何使用

首先,你需要访问 Terraform 的官方网站进行下载和安装。然后,你可以参考官方的入门指南和教程,了解如何使用 Terraform 创建基础设施。如果你是 Terraform 的新手,可以通过 HashiCorp 的学习平台查看更多的指南和学习资料。

安装方式参考如下:

# Mac
brew tap hashicorp/tap

# Linux 
sudo apt-get update && sudo apt-get install -y gnupg software-properties-common

# Windows,使用开源免费工具 Chocolatey
choco install terraform
项目推介

Terraform 是一个活跃的开源项目,由 HashiCorp 公司开发和维护。它已经被许多知名的公司和组织广泛使用,包括 Google、Microsoft、Amazon 等。此外,Terraform 还提供了认证考试,你可以通过考试来展示你的 Terraform 知识。如果你对基础设施管理有需求,或者对基础设施即代码有兴趣,我强烈推荐你尝试使用 Terraform。

以下是该项目 Star 趋势图(代表项目的活跃程度):

更多项目详情请查看如下链接。

开源项目地址:https://github.com/hashicorp/terraform

开源项目作者:hashicorp

以下是参与项目建设的所有成员:

关注我们,一起探索有意思的开源项目。


更多精彩请扫码关注如下公众号。

Written on September 1, 2023