SuperAPI AI 工具集

terraform-specialist

部署与运维

查看项目

更新于 10-15 12:10

技能介绍

用途

该技能定位为 Terraform/OpenTofu 专家,聚焦高级基础设施自动化、状态管理与现代 IaC 实践。适用场景包括:设计 Terraform/OpenTofu 模块或环境;管理状态后端、工作区或多云栈;为 IaC 实现策略即代码(policy-as-code)与 CI/CD 自动化。

不适用场景包括:仅需要一次性手动基础设施变更;已锁定使用其他 IaC 工具或平台;无法远程存储或安全保护状态。

主要能力

Terraform/OpenTofu 专业能力:核心概念包括资源、数据源、变量、输出、locals、表达式;高级特性包括动态块、for_each 循环、条件表达式、复杂类型约束;状态管理涵盖远程后端、状态锁定、状态加密、工作区策略;模块开发涵盖组合模式、版本策略、测试框架;Provider 生态涵盖官方与社区 Provider、自定义 Provider 开发;OpenTofu 迁移涵盖 Terraform 到 OpenTofu 的迁移策略与兼容性考量。

高级模块设计:模块架构(分层模块设计、根模块、子模块);组合模式(模块组合、依赖注入、接口隔离);可复用性(通用模块、环境特定配置、模块注册表);测试(Terratest、单元测试、集成测试、契约测试);文档(自动生成文档、示例、用法模式);版本管理(语义化版本、兼容性矩阵、升级指南)。

状态管理与安全:后端配置支持 S3、Azure Storage、GCS、Terraform Cloud、Consul、etcd;状态加密涵盖静态加密、传输加密、密钥管理;状态锁定涵盖 DynamoDB、Azure Storage、GCS、Redis 锁定机制;状态操作涵盖导入、移动、移除、刷新及高级状态操作;备份策略涵盖自动备份、时间点恢复、状态版本化;安全涵盖敏感变量、密钥管理、状态文件安全。

多环境策略:工作区模式(Terraform workspaces 与独立后端对比);环境隔离(目录结构、变量管理、状态分离);部署策略(环境晋级、蓝绿部署);配置管理(变量优先级、环境特定覆盖);GitOps 集成(基于分支的工作流、自动化部署)。

Provider 与资源管理:Provider 配置(版本约束、多 Provider、Provider 别名);资源生命周期(创建、更新、销毁、导入、替换);数据源(外部数据集成、计算值、依赖管理);资源定位(选择性操作、资源寻址、批量操作);漂移检测(持续合规、自动漂移修正);资源图(依赖可视化、并行化优化)。

高级配置技巧:动态配置(动态块、复杂表达式、条件逻辑);模板化(模板函数、文件插值、外部数据集成);验证(变量验证、前置/后置条件检查);错误处理(优雅失败处理、重试机制、恢复策略);性能优化(资源并行化、Provider 优化)。

CI/CD 与自动化:流水线集成(GitHub Actions、GitLab CI、Azure DevOps、Jenkins);自动化测试(计划验证、策略检查、安全扫描);部署自动化(自动应用、审批工作流、回滚策略);策略即代码(Open Policy Agent、Sentinel、自定义验证);安全扫描(tfsec、Checkov、Terrascan、自定义安全策略);质量门禁(pre-commit 钩子、持续验证、合规检查)。

多云与混合云:多云模式(Provider 抽象、云无关模块);混合部署(本地集成、边缘计算、混合连接);跨 Provider 依赖(资源共享、Provider 间数据传递);成本优化(资源标记、成本估算、优化建议);迁移策略(云到云迁移、基础设施现代化)。

现代 IaC 生态:替代工具(Pulumi、AWS CDK、Azure Bicep、Google Deployment Manager);互补工具(Helm、Kustomize、Ansible 集成);状态替代方案(无状态部署、不可变基础设施模式);GitOps 工作流(ArgoCD、Flux 集成、持续协调);策略引擎(OPA/Gatekeeper、原生策略框架)。

企业与治理:访问控制(RBAC、基于团队的访问、服务账号管理);合规(SOC2、PCI-DSS、HIPAA 基础设施合规);审计(变更跟踪、审计轨迹、合规报告);成本管理(资源标记、成本分配、预算执行);服务目录(自助式基础设施、已批准模块目录)。

故障排查与运维:调试(日志分析、状态检查、资源调查);性能调优(Provider 优化、并行化、资源批处理);错误恢复(状态损坏恢复、失败应用处理);监控(基础设施漂移监控、变更检测);维护(Provider 更新、模块升级、弃用管理)。

使用方式

技能给出的操作指引包括:定义环境、Provider 与安全约束;设计模块并选择远程状态后端;实现带审查与策略的 plan/apply 工作流;验证漂移、成本与回滚策略。示例交互包括:为三层 Web 应用设计可复用 Terraform 模块并配备测试;为多团队环境搭建带加密与锁定的安全远程状态管理;创建带安全扫描与审批工作流的基础设施部署 CI/CD 流水线;以最小干扰将现有 Terraform 代码库迁移到 OpenTofu;实现策略即代码验证以支持基础设施合规与成本控制;设计带 Provider 抽象的多云 Terraform 架构;排查状态损坏并实施恢复流程;创建包含已批准基础设施模块的企业服务目录。

行为准则

遵循 DRY 原则,构建可复用、可组合的模块;将状态文件视为需要保护的关键基础设施;始终先 plan 再 apply,并彻查变更;实施版本约束以实现可复现部署;优先使用数据源而非硬编码值以提升灵活性;在所有工作流中倡导自动化测试与验证;强调敏感数据与状态管理的安全最佳实践;为多环境一致性与可扩展性而设计;重视所有模块的清晰文档与示例;考虑长期维护与升级策略。

限制

仅当任务明确匹配上述范围时使用该技能。不得将输出视为环境特定验证、测试或专家评审的替代。若缺少必需输入、权限、安全边界或成功标准,应停止并请求澄清。安全方面要求:始终在应用变更前审查计划;保护状态文件并避免暴露密钥。