关于 devops-iac-engineer
DevOps IaC Engineer 是面向 DevOps 团队的技能,帮助以基础设施即代码方式设计和维护云基础设施,提供涵盖架构、Terraform、Kubernetes、CI/CD、可观测性和安全的指导。
主要功能
- 01Terraform 与 IaC 设计指导
- 02Kubernetes 和容器编排实践
- 03云平台与服务选择建议
- 04CI/CD 流水线和 GitOps 规划
- 05可观测性与 DevSecOps 实践
- 06基础设施实施工作流
适用场景
- 01为新应用设计云基础设施
- 02规划容器部署与编排
- 03设计 CI/CD 和 GitOps 工作流
- 04处理基础设施漂移、密钥或云成本问题
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill devops-iac-engineer安装后在 Claude Code 中输入/devops-iac-engineer确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
DIRECTORY_STRUCTURE.mdIMPLEMENTATION_GUIDE.mdREADME.mdexamples/kubernetes/complete-app.yamlexamples/pipelines/github-actions.ymlexamples/terraform/main.tfreference/cicd.mdcloud_platforms.mdkubernetes.mdobservability.mdsecurity.mdtemplates.mdterraform.mdscripts/devops_utils.py详细介绍
DevOps IaC 工程师
此 Skill 帮助 DevOps 团队使用基础设施即代码原则设计、实现和维护云基础设施。在构建云架构、部署容器化应用、搭建 CI/CD 流水线或实施可观测性与安全实践时使用。
快速导航
- Terraform 与 IaC:参见 terraform.md 了解 Terraform 最佳实践与模式
- Kubernetes 与容器:参见 kubernetes.md 了解容器编排
- 云平台:参见 cloud_platforms.md 了解 AWS、Azure、GCP 指南
- CI/CD 流水线:参见 cicd.md 了解流水线设计与 GitOps
- 可观测性:参见 observability.md 了解监控与日志
- 安全:参见 security.md 了解 DevSecOps 实践
- 模板与工具:参见 templates.md 了解即用型模板
核心原则
关键 DevOps 术语(全文统一)
- 基础设施即代码(IaC):通过声明式代码文件管理基础设施
- GitOps:将 Git 作为基础设施和应用的唯一可信来源
- 不可变基础设施:被替换而非修改的基础设施组件
- 服务网格:用于服务间通信的基础设施层
- 可观测性:从外部输出(日志、指标、追踪)理解系统状态的能力
- SLI/SLO/SLA:用于可靠性的服务级别指标/目标/协议
- RTO/RPO:用于灾难恢复的恢复时间目标/恢复点目标
工作流:基础设施实现
在实现基础设施时,遵循以下结构化方法:
-
理解需求
- 业务需求是什么?(新应用、迁移、扩缩容、合规)
- 规模要求是什么?(流量、数据、地理分布)
- 有哪些约束?(预算、时间线、监管)
- 有哪些依赖?(现有系统、数据源)
-
设计架构
- 选择合适的云平台和服务
- 为高可用性和容错性而设计
- 规划网络拓扑和安全边界
- 识别数据流和存储需求
- 用图表记录架构
-
选择 IaC 工具
- 使用 Terraform 进行多云基础设施配置
- 使用 Kubernetes 清单/Helm 进行容器编排
- 根据团队和需求选择 CI/CD 工具
- 如有需要,使用配置管理工具
-
实现基础设施
- 创建模块化、可复用的 IaC 代码
- 遵循安全最佳实践(参见 security.md)
- 实施适当的状态管理和版本控制
- 使用一致的命名和标记约定
- 记录代码并创建 README 文件
-
搭建可观测性
- 为关键服务定义 SLI 和 SLO
- 实施日志、指标和追踪
- 创建仪表盘和告警
- 搭建日志聚合与分析
- 规划值班轮换和运行手册
-
实施 CI/CD
- 设计部署流水线阶段
- 实施自动化测试(单元、集成、端到端)
- 搭建 GitOps 工作流
- 配置部署策略(蓝绿、金丝雀)
- 实施回滚流程
-
测试与验证
- 运行基础设施测试(安全、合规、成本)
- 执行灾难恢复演练
- 负载测试与性能验证
- 安全扫描与渗透测试
- 记录测试结果和改进
-
部署与监控
- 执行分阶段发布
- 密切监控指标和日志
- 对照 SLO 进行验证
- 记录运行手册和故障排查指南
- 进行部署后评审
决策框架:工具选择
多云需求 → Terraform 或 Pulumi 仅 AWS → Terraform、AWS CDK 或 CloudFormation 容器编排 → Kubernetes(EKS、GKE、AKS) 简单容器部署 → ECS、Cloud Run 或 App Service 配置管理 → Ansible 或云原生解决方案 GitOps 工作流 → ArgoCD 或 Flux CI/CD 流水线 → GitHub Actions、GitLab CI 或 Jenkins
常见挑战与解决方案
问题:代码与实际基础设施之间存在漂移 解决方案:实施自动化漂移检测,在 CI/CD 中使用 terraform plan,启用生产环境只读访问,维护状态文件的完整性
问题:密钥管理与凭证泄露 解决方案:使用云原生密钥管理器(AWS Secrets Manager、HashiCorp Vault),实施 SOPS 以在 Git 中加密密钥,使用 IRSA/workload identity
问题:云成本高昂与意外账单 解决方案:实施标签策略,使用成本分配标签,设置预算警报,合理调整资源规格,使用竞价实例,实施自动扩缩容
问题:Kubernetes 配置复杂 解决方案:使用 Helm chart 进行模板化,使用 Kustomize 实现环境特定配置,遵循 GitOps 模式,使用 operator 处理复杂工作负载
协作建议
- 与开发团队协作:提供自助服务平台,编写 API 文档,将基础设施作为可复用模块共享
- 与安全团队协作:实施策略即代码,自动化合规检查,提供审计追踪
- 与 SRE 团队协作:共同定义 SLI/SLO,共担值班职责,协同处理事故响应
- 与财务团队协作:提供成本可见性,预测支出,实施费用分摊模型
后续步骤
- 如果你正在实施基础设施即代码,请从 terraform.md 开始
- 使用 kubernetes.md 进行容器编排
- 参考 templates.md 获取可直接使用的配置
- 查看 observability.md 以设置监控
注意:在实施变更之前,请务必核实当前基础设施状态、安全需求和合规要求。本 Skill 提供框架与最佳实践,但应根据你所在组织的具体需求进行调整。