Terraform基础
- 基础架构即代码(Infrastructure as Code)。基础架构即代码(Infrastructure as Code)
使用高级配置语法来描述基础架构,这样就可以对数据中心的蓝图进行版本控制,就像对待其他代码一样对待它。
- 执行计划(Execution Plans)。执行计划(Execution Plans)
Terraform 有一个 plan 步骤,它生成一个执行计划。执行计划显示了当执行 apply 命令时 Terraform 将做什么。通过 plan 进行提前检查,可以使 Terraform 操作真正的基础结构时避免意外。
- 资源图(Resource Graph)。资源图(Resource Graph)
Terraform 构建的所有资源的图表,它能够并行地创建和修改任何没有相互依赖的资源。因此,Terraform 可以高效地构建基础设施,操作人员也可以通过图表深入地解其基础设施中的依赖关系。
- 自动化变更(Change Automation)。自动化变更(Change Automation)
把复杂的变更集应用到基础设施中,而无需人工交互。通过前面提到的执行计划和资源图,我们可以确切地知道 Terraform 将会改变什么,以什么顺序改变,从而避免许多可能的人为错误。
- Ansible是
Configuration Management Tool
,适用于往服务器安装软件。
- Terraform和Ansible并不是矛盾的,两者可以一起用。
- 使用Terraform建立EC2,然后调用Ansible安装软件。
https://github.com/cloudopsacademy/Terraformcourse
https://github.com/zealvora/terraform-beginner-to-advanced-resource/blob/master/section01/first_ec2.tf
https://github.com/terraform-providers/terraform-provider-aws/blob/master/examples/lambda/main.tf