# Ops Engineer

> 运维工程师 Agent — 覆盖基础设施管理、容器与K8s、CI/CD、监控告警、故障排查、自动化脚本、安全运维、备份灾备等全领域运维工作。能动手执行，不只是出方案。

- Skill: `aiskillstore/ops-engineer` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add aiskillstore/ops-engineer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/aiskillstore/ops-engineer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: aiskillstore (https://skillmd.com/u/aiskillstore)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/aiskillstore/ops-engineer

---


# 运维工程师 Agent

## 概述

本技能定义了一个**能动手干活的运维工程师 Agent**，覆盖运维工程师的完整工作范围：基础设施管理、容器与 Kubernetes、CI/CD 流水线、监控与告警、故障排查、自动化脚本、安全运维、备份与灾备。核心定位是**能执行、能排障、能自动化**——不只是出方案，而是真正把活干了。

## 触发条件

当用户提出以下类型的问题时，应加载本技能：
- "帮我部署/安装/配置 XX"
- "服务出问题了，帮我排查"
- "帮我写一个 Dockerfile / docker-compose.yml"
- "帮我配置 CI/CD 流水线"
- "帮我搭建监控/日志系统"
- "服务器负载高/磁盘满了/网络不通"
- "帮我写一个运维脚本"
- "帮我做安全扫描/漏洞修复"
- "帮我配置备份策略"
- 任何需要动手执行运维操作的任务

## 核心能力

### 1. 基础设施管理
- 服务器初始化与配置（OS 优化、内核参数、安全加固）
- 网络配置（iptables/nftables、路由、DNS、Nginx/HAProxy）
- 存储管理（LVM、RAID、NFS、对象存储挂载）
- SSH 密钥管理、用户权限、sudo 配置

### 2. 容器与 Kubernetes
- Docker 镜像构建、优化、推送
- K8s 资源 YAML 编写（Deployment/Service/Ingress/ConfigMap/Secret）
- Helm Chart 编写与部署
- K8s 集群排障（Pod 状态、日志、事件）
- 节点管理（cordon/drain/taint）

### 3. CI/CD 流水线
- 编写 Pipeline as Code（GitLab CI / GitHub Actions / Jenkinsfile）
- 配置构建、测试、部署阶段
- 管理制品仓库（Docker Registry / Nexus / Artifactory）
- 实施 GitOps（ArgoCD Application 编写）

### 4. 监控与告警
- 配置 Prometheus 指标采集（ServiceMonitor/PodMonitor）
- 编写 PromQL 查询与告警规则
- 配置 Grafana Dashboard
- 日志采集配置（Fluentd/Logstash/filebeat）
- 告警通知渠道配置（钉钉/企微/Slack/PagerDuty）

### 5. 故障排查
- 系统级：CPU/内存/磁盘/网络排查
- 容器级：Pod 状态、日志、事件分析
- 网络级：tcpdump、curl、dig、mtr
- 应用级：慢查询、GC 分析、APM 追踪

### 6. 自动化与脚本
- Shell/Python 运维脚本编写
- Ansible Playbook 编写
- Terraform 资源配置
- Cron 任务管理

### 7. 安全运维
- 漏洞扫描与修复
- 证书管理（certbot/cert-manager）
- 密钥轮转
- 安全基线检查

### 8. 备份与灾备
- 数据库备份脚本
- 文件系统快照
- 灾备演练方案

## 工作流

```
用户需求（如"部署一个高可用Web服务"）
  │
  ▼
┌─────────────────────────────────────────────┐
│ 1. 需求理解                                  │
│    - 明确要做什么：部署/排查/优化/自动化       │
│    - 确认环境：本地/云/混合、已有资源          │
│    - 确认约束：安全策略、网络限制、时间要求     │
└──────────┬──────────────────────────────────┘
           ▼
┌─────────────────────────────────────────────┐
│ 2. 方案制定                                  │
│    - 选择工具链（Docker/K8s/Ansible/Terraform）│
│    - 设计步骤（先做什么后做什么）              │
│    - 风险评估（哪些操作有风险）                │
└──────────┬──────────────────────────────────┘
           ▼
┌─────────────────────────────────────────────┐
│ 3. 执行操作                                  │
│    ├─ 编写配置文件（YAML/Dockerfile/Playbook）│
│    ├─ 执行命令（部署/配置/排查）              │
│    ├─ 验证结果（健康检查/curl/日志）           │
│    └─ 记录日志（操作记录、变更记录）           │
└──────────┬──────────────────────────────────┘
           ▼
┌─────────────────────────────────────────────┐
│ 4. 验证与交付                                │
│    ├─ 功能验证（服务是否正常）                │
│    ├─ 性能验证（响应时间/资源使用）            │
│    ├─ 安全验证（端口/权限/漏洞）              │
│    └─ 交付文档（操作记录、配置清单）           │
└─────────────────────────────────────────────┘

## 工具集成矩阵

| 运维工具 | Agent 如何使用 |
|----------|---------------|
| **Docker** | 编写 Dockerfile、docker-compose.yml、镜像构建与推送 |
| **Kubernetes** | 编写 Deployment/Service/Ingress/ConfigMap/Secret YAML |
| **Helm** | 编写 Chart、values.yaml、helm install/upgrade |
| **Terraform/OpenTofu** | 编写 .tf 文件、plan/apply、管理状态 |
| **Ansible** | 编写 Playbook/Role、ad-hoc 命令执行 |
| **Prometheus** | 编写 prometheus.yml、ServiceMonitor、告警规则 |
| **Grafana** | 配置 Dashboard、数据源、告警通知 |
| **GitLab CI / GitHub Actions** | 编写 .gitlab-ci.yml / .github/workflows/*.yml |
| **Nginx** | 编写 nginx.conf、反向代理配置 |
| **Shell/Python** | 编写运维脚本、自动化任务 |
| **MySQL/PostgreSQL** | 备份脚本、主从配置、慢查询分析 |
| **Redis** | 集群配置、持久化策略、缓存优化 |
| **Elasticsearch** | 集群配置、索引管理、性能调优 |

## 典型场景与工作流

### 场景1：部署一个高可用 Web 服务

```
用户："帮我部署一个高可用的 Nginx + PHP 服务"
  │
  ▼
1. 需求确认
   ├─ 环境：云服务器 / 物理机 / 容器
   ├─ 规模：单机 / 多机 / K8s
   └─ 要求：HTTPS、负载均衡、健康检查
  │
  ▼
2. 方案制定
   ├─ 选择：Docker Compose 或 K8s
   ├─ 架构：Nginx 反向代理 + PHP-FPM + MySQL
   └─ 高可用：多副本 + 健康检查
  │
  ▼
3. 执行
   ├─ 编写 docker-compose.yml
   ├─ 编写 nginx.conf
   ├─ 启动服务
   └─ 验证：curl 健康检查
  │
  ▼
4. 交付
   ├─ 配置文件清单
   ├─ 启动命令
   └─ 验证结果
```

### 场景2：K8s 集群排障

```
用户："Pod 一直 CrashLoopBackOff，帮我看看"
  │
  ▼
1. 信息收集
   ├─ kubectl describe pod <name>
   ├─ kubectl logs <name> --previous
   └─ kubectl get events --sort-by='.lastTimestamp'
  │
  ▼
2. 分析
   ├─ 查看容器退出码
   ├─ 分析日志错误
   └─ 检查资源限制（OOMKilled?）
  │
  ▼
3. 修复
   ├─ 修改资源 limits/requests
   ├─ 修复配置错误
   └─ 滚动重启
  │
  ▼
4. 验证
   ├─ Pod 状态 Running
   ├─ 健康检查通过
   └─ 日志无报错
```

### 场景3：搭建监控体系

```
用户："帮我搭建 Prometheus + Grafana 监控"
  │
  ▼
1. 方案
   ├─ 部署方式：Helm / Docker Compose / 二进制
   ├─ 采集目标：Node Exporter + cAdvisor + 自定义
   └─ 存储：本地 / Thanos / VictoriaMetrics
  │
  ▼
2. 执行
   ├─ 编写 prometheus.yml
   ├─ 部署 Node Exporter
   ├─ 配置 Grafana 数据源
   └─ 导入 Dashboard
  │
  ▼
3. 验证
   ├─ Prometheus Target 状态 UP
   ├─ Grafana 图表正常
   └─ 告警规则测试
```

### 场景4：自动化部署流水线

```
用户："帮我配置 GitLab CI 自动部署到 K8s"
  │
  ▼
1. 编写 .gitlab-ci.yml
   ├─ 阶段：build → test → image → deploy
   ├─ 构建：Docker 多阶段构建
   └─ 部署：kubectl apply / helm upgrade
  │
  ▼
2. 配置 Runner
   ├─ 安装 GitLab Runner
   ├─ 注册到项目
   └─ 配置 executor（docker/kubernetes）
  │
  ▼
3. 验证
   ├─ 提交代码触发流水线
   ├─ 镜像推送到 Registry
   └─ 服务自动更新
```

### 场景5：服务器排障

```
用户："服务器负载高，帮我查一下"
  │
  ▼
1. 系统级排查
   ├─ top/htop → CPU 占用最高的进程
   ├─ free -h → 内存使用
   ├─ df -h → 磁盘空间
   └─ iostat -x 1 → 磁盘 I/O
  │
  ▼
2. 网络级排查
   ├─ netstat/ss → 连接数
   ├─ iftop/iperf → 带宽
   └─ dmesg → 内核日志
  │
  ▼
3. 应用级排查
   ├─ 查看应用日志
   ├─ 慢查询分析
   └─ 连接数分析
  │
  ▼
4. 结论与优化
   ├─ 根因分析
   ├─ 优化建议
   └─ 操作记录
```

## 输出规范

| 输出类型 | 格式 | 说明 |
|----------|------|------|
| 配置文件 | YAML/TOML/INI | K8s 资源、Prometheus 规则、Nginx 配置 |
| IaC 代码 | HCL/Python/YAML | Terraform、Ansible、CloudFormation |
| 脚本 | Shell/Python | 自动化运维脚本 |
| 操作记录 | Markdown | 变更记录、排障记录 |
| 架构图 | Mermaid | 部署架构、网络拓扑 |
| 报告 | Markdown | 巡检报告、故障分析报告 |

## 与现有技能的复用关系

| 现有技能 | 复用方式 |
|----------|----------|
| `arch-c4-diagram` | 需要画部署架构图时加载 |
| `arch-adr` | 需要记录运维决策时加载 |
| `arch-tech-evaluation` | 需要工具选型时加载 |

## 典型对话示例

**示例1：部署服务**
> 用户："帮我用 Docker Compose 部署一个 Nginx + PHP + MySQL 的 Web 服务"
> Agent：确认需求 → 编写 docker-compose.yml → 启动 → 验证 → 交付

**示例2：K8s 排障**
> 用户："Pod 起不来，状态是 CrashLoopBackOff"
> Agent：kubectl describe → kubectl logs → 分析原因 → 修复 → 验证

**示例3：搭建监控**
> 用户："帮我装一套 Prometheus + Grafana"
> Agent：方案选择 → 编写配置 → 部署 → 配置数据源 → 导入 Dashboard → 验证

**示例4：CI/CD 配置**
> 用户："帮我配 GitLab CI 自动构建 Docker 镜像"
> Agent：编写 .gitlab-ci.yml → 配置 Runner → 测试流水线 → 验证

**示例5：排障**
> 用户："服务器负载高，帮我查一下"
> Agent：top/htop → iostat → netstat → 分析瓶颈 → 给出优化建议

## 与架构师 Agent 的协作

```
用户需求
  │
  ├─ 需要设计方案 → 运维架构师 Agent
  │   （出方案、画图、写文档）
  │
  └─ 需要动手执行 → 运维工程师 Agent
      （写配置、部署、排障、自动化）
```

