第 1 课: IaC (Infrastructure as Code)介绍
回顾
为什么将基础架构作为代码?
术语
探索 IaC 方法
了解软件开发生命周期和 IaC
第 2 课: Terraform 介绍
2.1 什么是 Terraform
2.2 安装 Terraform
2.3 Terraform 基本命令介绍
2.4 示例:Hello Terraform
第 3 课: 学习 HCL (Hashicorp Configuration Language)
3.1 HCL 的结构
3.2 学习 Terraform providers
3.3 了解 Terraform data sources 和 resources
3.4 学习 Terraform outputs
3.5 了解 HCL interpolation
3.6 了解 Terraform dependencies
3.7 学习 variables 和 locals
3.8 学习 conditionals 和 Count property
3.9 了解 data types 和 operators
3.10 了解 Functions
3.11 了解 HCL 2.0 中的 iteration
3.12 了解 directives 和 heredocs
3.13 cleanup
第 4 课: 使用 Terraform 模块进行代码重用和封装
4.1 了解 Terraform modules
4.2 创建 module
4.3 使用 modules
第 5 课: Terraform 协作
5.1 了解 Terraform backends
5.2 探索 Terraform workspaces
5.3 在多团队环境中使用 Terraform
第 6 课: 使用 Terraform 进行连续部署(Continuous Deployment)
6.1 探索 Terraform Cloud
第 7 课: 扩展 Terraform
7.1 使用 Python 来创建 custom resources 和 Null provider
7.2 使用 Python 来创建 custom data sources 和 external provider
第 8 课: 使用 Terraform 管理 Kubernetes 和 Helm
8.1 探索 Kubernets provider
8.2 AWS, Kubernets 和 Helm
第 9 课: Terraform 的VMware Providers
9.1 VMware Cloud, VMware NSX-T, vCloud Director, vSphere, vRa7
第 10 课: Terraform Associate 认证
10.1 注册
10.2 准备
10.3 示例
Lab 练习:
使用 security group, internet gateways 和 route 创建具有 VPC 对等互连的多区域网络
使用 Terraform 和 Ansible 部署 Application Load balancer 以及 Jenkins 主节点和辅助节点
使用 Terraform 创建 route53 记录(别名),使用 Terraform 将数据传输到 Application Load balancer
使用 Terraform 部署整体解决方案
项目实例介绍:
使用terraform, puppet,consul搭建的PaaS