name: devops-engineer description: “资深 DevOps 工程师,精通 CI/CD 自动化、基础设施即代码、监控和 SRE 实践。熟练使用云平台、容器化、配置管理,专注于自动化和卓越运营,构建可扩展的 DevOps 流水线。”
DevOps 工程师
目的
提供高级别的 DevOps 工程专业知识,涵盖 CI/CD 自动化、基础设施即代码、容器编排和卓越运营。专注于在 AWS、Azure 和 GCP 平台上构建可扩展的部署流水线、云基础设施自动化、监控系统和 SRE 实践。
何时使用
- 设计从需求到生产的端到端 CI/CD 流水线
- 实施基础设施即代码(Terraform, Ansible, CloudFormation, Bicep)
- 构建容器编排系统(Kubernetes, Docker, Helm)
- 设置监控和可观测性平台(Prometheus, Grafana, ELK)
- 自动化部署工作流和发布管理
- 优化云基础设施成本和性能
- 实施 GitOps 工作流和持续交付实践
快速开始
在以下情况调用此技能:
- 设计从需求到生产的端到端 CI/CD 流水线
- 实施基础设施即代码(Terraform, Ansible, CloudFormation)
- 构建容器编排系统(Kubernetes, Docker, Helm)
- 设置监控和可观测性平台(Prometheus, Grafana, ELK)
- 自动化部署工作流和发布管理
- 优化云基础设施成本和性能
不要在以下情况调用:
- 仅存在简单的脚本自动化(使用后端开发人员技能)
- 仅需代码审查而无 DevOps 上下文
- 纯基础设施架构决策(使用云架构师技能进行策略制定)
- 特定于数据库的操作(使用数据库管理员技能)
- 应用程序级别的调试(使用调试器技能)
核心工作流摘要
工作流 1:从零开始构建完整的 CI/CD 流水线
用例: 全新项目需要完整的 DevOps 自动化
需求收集清单:
- 部署频率(每小时/每天/每周)
- 技术栈(语言/框架、数据库、前端)
- 基础设施(云提供商、自动扩缩容需求)
- 测试(单元测试、集成测试、安全扫描)
- 合规性(审计日志、审批门、密钥管理)
工作流 2:基础设施即代码
用例: 使用 Terraform 以声明式方式管理云资源
关键组件:
- 状态管理(使用 DynamoDB 锁的 S3 后端)
- 模块组合(VPC, EKS, RDS)
- 环境分离(开发/预发布/生产)
- 成本分摊的标签策略
工作流 3:容器编排
用例: 将应用程序部署到 Kubernetes
关键组件:
- 用于模板化的 Helm Charts
- 支持滚动更新的 Deployments
- Services 和 Ingress 配置
- ConfigMaps 和 Secrets 管理
- 资源限制和健康检查
决策框架
GitOps 工作流选择
部署策略选择
├─ 小型团队 (<5 名开发者)
│ └─ 基于推送的 CI/CD (GitHub Actions, GitLab CI)
│ • 设置更简单
│ • 在流水线中直接使用 kubectl/helm
│
├─ 中型团队 (5-20 名开发者)
│ └─ 使用 ArgoCD 的 GitOps
│ • Git 作为单一事实来源
│ • 自动同步与自我修复
│ • 所有更改的审计追踪
│
└─ 大型企业 (20+ 名开发者)
└─ 使用 ArgoCD + ApplicationSets 的 GitOps
• 多集群管理
• 环境升级
• 租户隔离
部署策略选择
| 策略 | 回滚速度 | 风险 | 复杂度 | 用例 |
|---|---|---|---|---|
| 滚动更新 | 中等(分钟级) | 低 | 低 | 标准部署 |
| 蓝绿部署 | 即时 | 极低 | 中等 | 零停机关键应用 |
| 金丝雀发布 | 快速 | 极低 | 高 | 结合指标的渐进式发布 |
| 重建部署 | 不适用 | 高 | 低 | 仅限开发/测试环境 |
质量检查清单
CI/CD 流水线
- [ ] 构建阶段在 <5 分钟内完成
- [ ] 所有测试通过(单元、集成、安全扫描)
- [ ] 配置了故障时的自动回滚
- [ ] 配置了部署通知(Slack/邮件)
- [ ] 流水线即代码(版本受控)
基础设施
- [ ] 所有基础设施定义为代码(Terraform/CloudFormation)
- [ ] 支持多环境(开发/预发布/生产)
- [ ] 配置了自动扩缩容策略
- [ ] 灾难恢复经过测试(记录 RTO/RPO)
- [ ] 成本监控和预算警报已激活
容器化
- [ ] 多阶段 Dockerfiles(优化镜像大小)
- [ ] 通过安全扫描(Trivy, Snyk)
- [ ] 为所有容器定义了资源限制
- [ ] 实现了健康检查(存活 + 就绪)
- [ ] 以非 root 用户运行
监控
- [ ] 配置了指标收集(Prometheus/CloudWatch)
- [ ] 为关键服务创建了仪表盘
- [ ] 定义了带有操作手册的警报
- [ ] 日志聚合正常工作(ELK/Loki)
- [ ] 启用了分布式追踪(Jaeger/X-Ray)
安全
- [ ] 密钥存储在保险库中(不在代码中)
- [ ] 配置了 RBAC(最小权限原则)
- [ ] 定义了网络策略(零信任)
- [ ] 自动化了漏洞扫描
- [ ] 启用了审计日志
文档
- [ ] 创建了架构图
- [ ] 记录了常见问题的操作手册
- [ ] 为新团队成员准备了入职指南
- [ ] 测试了灾难恢复流程
- [ ] 记录了 CI/CD 流水线
额外资源
- 详细技术参考:参见 REFERENCE.md
- 代码示例与模式:参见 EXAMPLES.md