课程大纲

模块 1:基础设施即代码与 Terraform 简介

  • IaC 概念及其对本地和混合环境的优势。
  • Terraform 概述:提供程序、资源、状态和生命周期。
  • 安装 Terraform、Azure CLI 及所需工具。
  • 首次实践:编写简单的 Terraform 配置并在本地应用。

模块 2:HashiCorp 配置语言(HCL)与配置基础

  • HCL 语法、资源、属性和表达式。
  • 变量、输出、本地变量和类型约束。
  • 使用 Terraform CLI:init、plan、apply、destroy 和 fmt。
  • 实践实验室:为本地资源和 Azure 资源构建参数化配置。

模块 3:提供程序、资源与 Azure 提供程序基础

  • 了解提供程序及提供程序配置(AzureRM 提供程序)。
  • 将基础设施映射到 Terraform 资源(网络、计算、存储)。
  • 管理 Azure 认证和服务主体以实现自动化。
  • 实践:通过 Terraform 配置 Azure 虚拟网络和简单虚拟机。

模块 4:状态管理、后端与协作

  • Terraform 状态:目的、格式和生命周期考虑。
  • 使用 Azure 存储账户的远程后端和状态锁定策略。
  • 工作空间、环境和团队协作模式。
  • 实验室:在 Azure 存储中配置远程状态并执行多用户工作流。

模块 5:模块化、可重用性与最佳实践

  • 编写和使用 Terraform 模块。
  • 模块输入/输出、版本控制和注册表模式。
  • 文件夹布局、命名约定和可维护的仓库结构。
  • 实践:创建可重用的 Azure VM + 磁盘 + 网络模块,并在不同环境中测试。

模块 6:管理 Azure 虚拟设备与本地集成

  • 通过 Terraform 管理 Azure 虚拟机、虚拟桌面组件和设备生命周期。
  • 混合设备管理模式:连接本地资源和 Azure 管理的设备。
  • 通过数据源和外部提供程序集成容量或设备管理系统。
  • 实验室:部署代表操作单元的 Azure 虚拟机群,并配置库存标记和基本监控。

模块 7:CI/CD、自动化与部署管道

  • 将 Terraform 与 CI/CD(GitHub Actions、Azure DevOps 管道)集成。
  • 使用安全秘密和服务主体自动化 plan/apply。
  • 策略即代码基础(Sentinel 或 Open Policy Agent 模式)和预部署检查。
  • 实践:创建一个简单的 GitHub Actions 工作流,针对沙盒订阅进行 Terraform 计划和应用。

模块 8:安全性、秘密与操作实践

  • 管理秘密:Azure Key Vault 集成,避免在状态文件中存储敏感数据。
  • 访问控制、RBAC 和自动化账户的最小权限。
  • 漂移检测、状态调和与基本修复实践。
  • 清单:Terraform 管理的基础设施的备份、审计和治理。

模块 9:测试、调试与故障排除

  • 调试 Terraform 配置并有效读取计划差异。
  • 单元和集成测试方法(terraform validate、tflint、kitchen-terraform)。
  • 常见错误模式与解决策略。
  • 实验室:运行验证和 linting 工具并修复发现的问题。

模块 10:毕业项目 — 混合部署场景

  • 设计练习:使用所学模式规划一个本地 + Azure 设备部署。
  • 使用模块、远程状态和 CI/CD 管道片段实现核心组件。
  • 展示解决方案,讨论权衡并审查操作手册。

总结与下一步

要求

  • 了解基本的网络和虚拟化概念。
  • 熟悉 Windows 或 Linux 命令行。
  • 具备云或本地基础设施概念的基本知识。

目标受众

  • 系统管理员和平台工程师。
  • 刚开始接触基础设施即代码的 DevOps 从业者。
  • 管理混合(本地 + Azure)基础设施的 IT 团队。
 32 小时

客户评论 (5)

即将举行的公开课程

课程分类