SuperAPI AI 工具集

devops-automator

部署与运维

查看项目

更新于 10-15 11:59

技能介绍

DevOps Automator 是一个面向 DevOps 工程的专业技能,定位为 CI/CD、基础设施即代码(IaC)、Kubernetes 与部署自动化方面的专家。

用途 该技能用于协助设计、实现和审查 DevOps 相关配置与流程,覆盖持续集成与持续交付、基础设施即代码、容器编排以及部署自动化。其激活触发词包括:CI/CD、GitHub Actions、deployment pipeline、Terraform、infrastructure as code、IaC、Docker、Kubernetes、K8s、Helm、container orchestration、GitOps、ArgoCD、deployment automation、secrets management、monitoring setup。它不适用于应用开发(应使用语言类技能)、数据库设计(应使用 data-pipeline-engineer)和 API 设计(应使用 api-architect)。

主要能力 技能覆盖以下领域与工具:

  • CI/CD:GitHub Actions、GitLab CI、Jenkins
  • IaC:Terraform、AWS CDK、Pulumi
  • 容器:Docker、Kubernetes、Helm
  • GitOps:ArgoCD、Flux、Kustomize
  • 监控:Prometheus、Grafana、ELK/EFK

技能提供两类架构模式参考:

  1. CI/CD 流水线流程:代码提交 → 构建 → 测试 → 安全扫描 → 打包 → 部署开发环境 → 冒烟测试 → 发布预发环境 → 监控;随后经人工审批 → 部署生产环境。
  2. GitOps 架构:应用仓库经 CI 写入配置仓库,ArgoCD 从配置仓库同步到 K8s 集群,并持续同步回配置仓库。

参考文件 技能附带 ./references/ 目录下的完整可运行示例:

  • github-actions-patterns.yaml:完整 CI/CD 流水线(217 行)
  • terraform-eks-module.tf:生产级 EKS 集群(282 行)
  • kubernetes-deployment.yaml:Deployment + HPA + ArgoCD(200 行)
  • dockerfile-multistage.dockerfile:优化的多阶段构建(51 行)

使用方式 快速开始步骤:

  1. 定义部署策略:蓝绿、金丝雀或滚动发布
  2. 选择 IaC 工具:云资源用 Terraform,K8s 应用用 Helm
  3. 设计 CI 阶段:lint → test → security scan → build → deploy
  4. 实现 GitOps:由 ArgoCD 同步配置仓库
  5. 添加可观测性:Prometheus 指标、结构化日志

技能可用的工具包括:Read、Write、Edit(用于配置与清单文件操作);Bash(docker:)、Bash(kubectl:)、Bash(terraform:)、Bash(helm:)、Bash(gh:*) 等命令行操作。

输出产物 技能可产出:CI/CD 工作流(GitHub Actions、GitLab CI 配置)、Terraform 模块(可复用基础设施组件)、Kubernetes 清单(Deployment、Service、Config)、Helm Charts(打包应用)、Docker 配置(优化的多阶段构建)、ArgoCD Applications(GitOps 部署定义)。

反模式(应避免) 技能列出 15 类常见反模式及修复建议:

  1. YAML 复制粘贴泛滥:修复为可复用工作流、Helm charts、Kustomize bases、Terraform 模块
  2. 代码中硬编码密钥:修复为密钥管理器(Vault、AWS SM)、sealed secrets、来自安全来源的环境变量
  3. 无回滚策略:修复为蓝绿、带自动回滚的金丝雀、ArgoCD 自动回滚
  4. 单体 CI 流水线:修复为并行任务、缓存、增量构建、基于路径的触发
  5. 无资源限制:修复为始终设置 requests/limits,使用 LimitRanges 和 ResourceQuotas
  6. 容器以 root 运行:修复为添加 USER 指令,设置 securityContext.runAsNonRoot: true
  7. 使用 :latest 标签:修复为固定具体版本,使用带 SHA 摘要的不可变标签
  8. 无健康检查:修复为添加健康端点,配置带合适超时的探针
  9. 单点故障:修复为多副本、pod 反亲和性、拓扑分布约束
  10. Terraform 状态存本地文件:修复为远程后端(S3+DynamoDB、Terraform Cloud、GCS)
  11. 无并发控制:修复为使用并发组、实现部署锁
  12. 忽略安全扫描:修复为使用 Trivy、Snyk 或 Grype 扫描漏洞,TruffleHog 检测密钥
  13. 无漂移检测:修复为 ArgoCD diff 检测、CI 中 terraform plan、定期审计
  14. IAM 权限过宽:修复为最小权限原则、pod 使用 IRSA、审计权限
  15. 无可观测性:修复为导出指标、结构化日志、定义 SLO、配置告警

验证脚本 运行 ./scripts/validate-devops-skill.sh 可检查:

  • GitHub Actions 工作流中的弃用 action、缺失缓存
  • Dockerfile 的安全最佳实践
  • Kubernetes 清单的资源限制、安全上下文
  • Terraform 的版本约束、敏感默认值

质量检查清单

  • 所有密钥在密钥管理中(不在代码里)
  • 所有容器定义了资源限制
  • 配置了健康检查(liveness、readiness)
  • 启用了水平 pod 自动扩缩
  • 设置了安全上下文(非 root、只读)
  • 配置了监控与告警
  • 记录了回滚策略
  • 支持多环境(dev、staging、prod)
  • CI 流水线中有并发控制
  • Terraform 使用远程状态后端
  • 流水线中有漏洞扫描
  • 所有依赖固定版本

适用场景与限制 该技能适用于需要搭建或审查 CI/CD 流水线、容器化、Kubernetes 部署、基础设施即代码和 GitOps 的场景。其限制在于:不处理应用开发、数据库设计和 API 设计;具体收费、价格、平台支持范围等事实资料中暂未提供。