Skip to content

第八部分 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 CodeAnthropic强大的代码理解和编辑能力
GitHub CopilotGitHub/OpenAIIDE 集成,代码补全
CursorCursorAI 原生编辑器
CodexOpenAIAPI 形式的代码生成
Kimi Code CLIMoonshot国产 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 本章练习

  1. 在你的开发环境中安装一个 AI 编程助手。
  2. 尝试让 AI 解释一段 K8s YAML 配置。
  3. 列出 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.d

31.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 本章练习

  1. 使用 AI 生成一个自动清理 Docker 无用镜像的脚本。
  2. 使用 AI 生成一个 Nginx + PHP-FPM 的 Deployment YAML。
  3. 让 AI Review 你之前写的一个脚本,并根据建议改进。
  4. 使用 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 本章练习

  1. 将一段真实的 K8s 错误日志提交给 AI 分析,验证其结论。
  2. 用 AI 生成一份 "Pod OOMKilled" 的 Runbook。
  3. 用 AI 将一次故障处理过程整理成 RCA 文档。
  4. 制定你团队的 AI 辅助运维安全规范。

第八部分总结

完成本阶段学习后,你应该能够:

  • 使用 Claude Code、Copilot 等 AI Agent 工具
  • 用 AI 辅助生成运维脚本和 K8s 配置
  • 用 AI 分析日志和事件
  • 用 AI 生成 Runbook 和文档
  • 建立安全、可控、可审计的 AI 辅助运维流程

进入下一阶段:算力平台与综合实战