NEWS 新闻动态 > 新闻详情

技术分享 | 运用Terraform实现对混合云资源的自动编排

futong 发表于:2019-10-21
摘要:在混合云环境中,面对各种各样的基础设施,如何进行资源的有效编排和管理,以实现整体效率提升和成本优化?我们亟待拥有一个统一的编排工具,能够用相同的语法同时编排各类云资源。今天将与您分享较为流行的资源编排工具Terraform在混合云管理中的使用。

Terraform是什么

Terraform 是一个使用go语言编写的开源的自动化资源编排工具,它不仅支持包括AWS, 阿里云, Google Cloud, Microsoft Azure等全球主流云服务提供商, 还支持Heroku, Kubernetes, MySQL, RabbitMQ, Docker 等主流技术服务。具体来说,它就是可以用代码来管理和维护IT资源,把之前需要手动操作的一些任务通过程序来自动化完成

Terraform具有很强的灵活性,与其他系统并不相互排斥。Terraform 使用配置文件描述来管理组件(小到单个应用程序或大到整个数据中心的不同对象)。它会生成一个执行计划,描述它将做什么来达到所需的状态,然后执行它来构建所描述的基础结构。随着配置的变化,Terraform 能够确定发生了什么变化,并创建可应用的增量执行计划。

Terraform可管理的基础设施不仅包含计算实例、存储、网络等底层组件,也包含DNS条目、SaaS服务等高级组件。

Terraform 核心功能

基础架构即代码

使用高级配置语法来描述基础架构,这样就可以对数据中心的蓝图进行版本控制,就像对待其他代码一样对待它。

执行计划

Terraform 有一个 plan 步骤,它生成一个执行计划。执行计划显示了当执行 apply 命令时 Terraform 将做什么。通过 plan 进行提前检查,可以使 Terraform 在操作真正的基础结构时避免意外情况的发生。

资源图

Terraform 构建所有资源的图表,并且并行地创建和修改任何没有相互依赖的资源。因此,Terraform 可以高效地构建基础设施,操作人员也可以通过图表深入地了解其基础设施中的依赖关系。

自动化变更

把复杂的变更集应用到基础设施中,而无需人工交互。通过前面提到的执行计划和资源图,我们可以确切地知道 Terraform 将会改变什么,以什么顺序改变,从而避免许多可能的人为错误。

使用样例:在阿里云上创建一个实例

1、创建配置文件。

1.jpg

2.jpg

2、初始化目录,安装当前目录所需要的插件。

3.jpg

3、检查当前配置文件的格式是否正确,并预览将要生成的资源是否符合预期。

4.jpg

4、生成资源。

5.jpg

5、登陆阿里云管理控制中心,查看资源是否已经正确生成。

6.jpg

成功登录阿里云控制台以后,能够看到一个1核1G的实例已经在后台生成,并且公网ip与我们在Terraform生成界面看到的一致。

至此,我们使用Terraform生成了一个实例。

Terraform是非常强大的混合云资源编排工具,语法简单明了,往往只需要通过配置文件声明需要的资源列表,就能够快速地完成多云资源的创建。富通云腾多云管理平台通过Terraform提供的机制,可对阿里云、AWS或其他云上的资源进行有效管理。用户可通过富通云腾多云管理平台来创建、修改或删除OSS、ECS、VPC、RDS、SLB 等多种云资源,以快速实现对云资源的自动编排。