主题
第八部分 AI Agent 辅助运维
AI Agent 正在改变运维工作方式。本部分介绍如何使用 Claude Code、Codex 等 AI Agent 工具辅助运维脚本开发、配置生成、故障分析、代码 Review 和文档沉淀,同时建立安全、可控、可审计的 AI 辅助运维流程。
第 30 章 AI Agent 工具入门
30.1 什么是 AI Agent
AI Agent 是基于大语言模型(LLM)的智能助手,能够理解自然语言指令,执行复杂任务,如:
- 编写和修改代码
- 分析日志和错误
- 生成配置文件
- 回答技术问题
- 自动化重复性任务
30.2 常见 AI Agent 工具
| 工具 | 厂商 | 特点 |
|---|---|---|
| Claude Code | Anthropic | 强大的代码理解和编辑能力 |
| GitHub Copilot | GitHub/OpenAI | IDE 集成,代码补全 |
| Cursor | Cursor | AI 原生编辑器 |
| Codex | OpenAI | API 形式的代码生成 |
| Kimi Code CLI | Moonshot | 国产 AI 编程助手 |
30.3 Claude Code 基础使用
Claude Code 是 Anthropic 推出的终端 AI 编程助手。
bash
# 安装(参考官方文档)
pip install claude-code
# 启动
claude
# 常见指令
# "帮我写一个 Kubernetes Pod 巡检脚本"
# "分析这个 Deployment 配置是否有问题"
# "把这段 Shell 脚本改成 Python"30.4 GitHub Copilot 基础使用
Copilot 集成在 VS Code 等 IDE 中:
- 自动补全代码
- 根据注释生成代码
- 解释选中代码
- 生成单元测试
30.5 AI 辅助运维的安全原则
- 最小权限:AI 工具只拥有必要的权限
- 人工审核:关键操作必须人工确认
- 操作审计:记录所有 AI 辅助执行的命令
- 敏感信息保护:不向 AI 暴露密码、Token、私钥
- 可回滚:AI 修改的操作可以回滚
30.6 本章练习
- 在你的开发环境中安装一个 AI 编程助手。
- 尝试让 AI 解释一段 K8s YAML 配置。
- 列出 3 条使用 AI 工具时的安全注意事项。
第 31 章 使用 AI Agent 开发运维脚本
31.1 用 AI 生成脚本
示例 Prompt:
请帮我写一个 Shell 脚本,用于检查 Kubernetes 集群中所有命名空间下状态不是 Running 的 Pod,
输出包含:命名空间、Pod 名、状态、重启次数。如果重启次数超过 5 次,标记为 [WARNING]。
要求脚本具有幂等性,并将结果保存到 /var/log/k8s-check.log。AI 可能生成:
bash
#!/bin/bash
# k8s-pod-check.sh
set -euo pipefail
LOG_FILE="/var/log/k8s-check.log"
mkdir -p "$(dirname "$LOG_FILE")"
exec > >(tee -a "$LOG_FILE")
exec 2>&1
echo "===== K8s Pod 检查 $(date '+%Y-%m-%d %H:%M:%S') ====="
kubectl get pods --all-namespaces --field-selector=status.phase!=Running \
-o custom-columns='NAMESPACE:.metadata.namespace,NAME:.metadata.name,STATUS:.status.phase,RESTARTS:.status.containerStatuses[*].restartCount' \
--no-headers 2>/dev/null | while read -r ns name status restarts; do
if [ -z "$name" ]; then
continue
fi
total_restarts=0
for r in $(echo "$restarts" | tr ',' ' '); do
total_restarts=$((total_restarts + r))
done
if [ "$total_restarts" -gt 5 ]; then
echo "[WARNING] ${ns}/${name}: ${status}, restarts=${total_restarts}"
else
echo "${ns}/${name}: ${status}, restarts=${total_restarts}"
fi
done
echo "===== 检查结束 ====="31.2 用 AI 生成 K8s YAML
示例 Prompt:
请生成一个 Deployment 的 YAML,要求:
- 名称:web-app
- 镜像:nginx:1.25
- 副本数:3
- 资源限制:CPU request 100m,limit 200m;内存 request 128Mi,limit 256Mi
- 暴露 80 端口
- 添加存活探针和就绪探针
- 挂载一个名为 config 的 ConfigMap 到 /etc/nginx/conf.d31.3 用 AI Review 代码
示例 Prompt:
请 Review 下面的 Shell 脚本,指出其中的安全风险和改进建议:
[粘贴脚本]AI 可能会指出:
- 未处理变量引用的空格问题
- 未对输入进行校验
- 使用了
rm -rf等危险命令 - 缺少错误处理
- 敏感信息硬编码
31.4 AI 辅助配置生成
示例 Prompt:
请帮我生成一个 Prometheus 告警规则,监控 Pod 的内存使用率,
当内存使用超过 85% 持续 5 分钟时触发 warning 告警,超过 95% 持续 2 分钟时触发 critical 告警。31.5 本章实验
实验 31-1:用 AI 生成巡检报告模板
尝试向 AI 提问:
请帮我生成一个 Markdown 格式的 Kubernetes 集群巡检报告模板,
包含以下部分:
1. 巡检概述
2. 节点状态
3. Pod 状态
4. 资源使用 Top 10
5. 异常事件
6. 证书过期情况
7. 风险与建议
8. 后续跟进31.6 本章练习
- 使用 AI 生成一个自动清理 Docker 无用镜像的脚本。
- 使用 AI 生成一个 Nginx + PHP-FPM 的 Deployment YAML。
- 让 AI Review 你之前写的一个脚本,并根据建议改进。
- 使用 AI 生成一个 Prometheus 内存告警规则。
第 32 章 AI Agent 辅助故障排查与文档沉淀
32.1 用 AI 分析日志
示例 Prompt:
请分析以下 Kubernetes Pod 日志,指出可能的问题和解决方案:
[粘贴日志]AI 可以帮助:
- 识别错误类型
- 解释错误原因
- 给出排查方向
- 推荐修复命令
32.2 用 AI 分析 K8s 事件
以下是一个 Pod 的 describe 输出,请分析为什么 Pod 一直处于 Pending 状态:
[粘贴 kubectl describe pod 输出]32.3 用 AI 生成 Runbook
示例 Prompt:
请根据以下内容生成一份标准化的 Runbook:
故障现象:Pod 状态为 ImagePullBackOff
排查步骤:
1. kubectl describe pod 查看事件
2. 检查镜像名和标签是否正确
3. 检查私有仓库凭据
4. 在节点上手动拉取镜像测试
修复方案:
- 修正镜像名
- 创建或更新 imagePullSecrets
- 检查网络连通性32.4 用 AI 沉淀文档
AI 可以帮助:
- 将口语化记录整理为规范文档
- 生成操作手册
- 总结故障复盘报告
- 翻译技术文档
示例 Prompt:
请将以下口语化的故障处理记录整理成一份规范的 RCA(根因分析)文档:
[粘贴记录]32.5 建立 AI 辅助运维流程
1. 问题发现
↓
2. 人工初步判断
↓
3. AI 辅助分析日志/事件
↓
4. 人工确认根因
↓
5. AI 辅助生成修复命令/脚本
↓
6. 人工审核并执行(关键操作)
↓
7. AI 辅助生成 Runbook/复盘文档
↓
8. 人工审核并归档32.6 安全审计 checklist
- [ ] 所有 AI 生成的命令都经过人工审核
- [ ] 敏感信息未输入给 AI
- [ ] 关键操作有双人复核
- [ ] AI 辅助操作记录保存
- [ ] 定期评估 AI 输出质量
- [ ] 建立 AI 使用规范
32.7 本章练习
- 将一段真实的 K8s 错误日志提交给 AI 分析,验证其结论。
- 用 AI 生成一份 "Pod OOMKilled" 的 Runbook。
- 用 AI 将一次故障处理过程整理成 RCA 文档。
- 制定你团队的 AI 辅助运维安全规范。
第八部分总结
完成本阶段学习后,你应该能够:
- 使用 Claude Code、Copilot 等 AI Agent 工具
- 用 AI 辅助生成运维脚本和 K8s 配置
- 用 AI 分析日志和事件
- 用 AI 生成 Runbook 和文档
- 建立安全、可控、可审计的 AI 辅助运维流程
进入下一阶段:算力平台与综合实战。