联系我们
 课程时长 28 小时

课程大纲

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

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

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

  • HCL 语法、资源、属性及表达式
  • 变量、输出、局部变量及类型约束
  • 使用 Terraform 命令行:init、plan、apply、destroy 和 fmt
  • 动手实验:为本地资源和 Azure 资源构建参数化配置

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

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

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

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

模块 5:模块化、可复用性及最佳实践

  • Terraform 模块的编写与消费
  • 模块输入/输出、版本管理及注册表模式
  • 文件夹布局、命名约定及可维护的代码库结构
  • 动手实践:创建用于 Azure 虚拟机 + 磁盘 + 网络的可复用模块,并在不同环境中测试

模块 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 的 plan 和 apply

模块 8:安全、密钥及运维实践

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

模块 9:测试、调试及故障排查

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

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

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

总结及后续步骤

要求

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

适用人群

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

客户评论 (3)

即将举行的公开课程

课程分类