rancher-cluster-inspection
Installation
SKILL.md
Rancher 集群巡检(多 Agent 并行版)
对 Kubernetes 集群做健康巡检,采用多 Agent 并行架构,6 个维度同时执行,显著提升巡检速度和覆盖深度。
架构概览
用户请求 → Skill 识别巡检类型 → 并行启动维度 Agent → 汇总报告
├─ cluster-info-inspector (集群信息)
├─ node-health-inspector (节点健康)
├─ capacity-inspector (资源容量)
├─ workload-inspector (工作负载)
├─ event-inspector (异常事件)
└─ system-inspector (系统组件)
可用 Sub-Agent(6 个维度 Agent)
1. rancher-cluster-info-inspector
维度: 集群基础信息 检查项: 集群状态、K8s 版本、项目数量、命名空间数量、Provider 信息
2. rancher-node-health-inspector
维度: 节点健康 检查项: Ready 状态、MemoryPressure、DiskPressure、PIDPressure、Taints/Cordoned、kubelet 版本一致性
3. rancher-capacity-inspector
维度: 资源容量 检查项: CPU/内存请求/限制/使用率、Pod 数量、过度分配检测
4. rancher-workload-inspector
维度: 工作负载健康 检查项: Deployment/StatefulSet/DaemonSet 可用性、异常 Pod、高重启 Pod
5. rancher-event-inspector
维度: 异常事件 检查项: Warning 事件、OOMKilling、FailedScheduling、Evicted、高频重复事件
6. rancher-system-inspector
维度: 系统组件 检查项: CoreDNS、kube-proxy、metrics-server、cattle-agent、fleet-agent、Ingress Controller
决策树
用户请求:
├─ "集群巡检" / "cluster inspection" / "健康检查" / "集群体检"
│ └─ 并行启动 6 个维度 Agent(完整巡检)
│
├─ "快速检查" / "quick check" / "简单看看集群状态"
│ └─ 并行启动 3 个维度 Agent(cluster-info + node-health + event)
│
├─ "节点巡检" / "检查所有节点" / "node inspection"
│ └─ 并行启动 2 个维度 Agent(node-health + capacity)
│
├─ "工作负载巡检" / "应用健康检查" / "workload inspection"
│ └─ 并行启动 2 个维度 Agent(workload + event)
│
├─ "事件巡检" / "检查异常事件" / "event inspection"
│ └─ 启动 1 个维度 Agent(event)
│
├─ "系统组件巡检" / "检查系统组件" / "system inspection"
│ └─ 启动 1 个维度 Agent(system)
│
├─ "巡检所有集群" / "全部集群体检" / "inspect all clusters"
│ └─ 获取集群列表 → 为每个集群并行启动 6 个维度 Agent
│
├─ "变更前检查" / "pre-change check"
│ └─ 并行启动 6 个维度 Agent(完整巡检,记录基线)
│
└─ "变更后检查" / "post-change check"
└─ 并行启动 6 个维度 Agent(完整巡检,与基线对比)
并行执行模式
模式 1: 单集群完整巡检(6 Agent 并行)
用户: "对 production 集群做一次完整巡检"
→ 步骤 1: 确定集群 ID(如需要,使用 cluster_list 搜索)
→ 步骤 2: 同时启动 6 个维度 Agent
Agent 1: rancher-cluster-info-inspector(集群 c-abc123)
Agent 2: rancher-node-health-inspector(集群 c-abc123)
Agent 3: rancher-capacity-inspector(集群 c-abc123)
Agent 4: rancher-workload-inspector(集群 c-abc123)
Agent 5: rancher-event-inspector(集群 c-abc123)
Agent 6: rancher-system-inspector(集群 c-abc123)
→ 步骤 3: 汇总 6 个维度报告,计算整体评分,生成完整巡检报告
模式 2: 多集群并行巡检(N 集群 × 6 Agent)
用户: "巡检所有集群"
→ 步骤 1: 调用 cluster_list 获取所有集群
→ 步骤 2: 为每个集群同时启动 6 个维度 Agent
集群 production (c-abc123): 6 个维度 Agent
集群 staging (c-def456): 6 个维度 Agent
集群 dev (c-ghi789): 6 个维度 Agent
(共 18 个 Agent 并行运行)
→ 步骤 3: 分别汇总每个集群的巡检报告
→ 步骤 4: 生成多集群巡检总览
模式 3: 快速巡检(3 Agent 并行)
用户: "快速检查一下 production 集群"
→ 并行启动 3 个维度 Agent:
Agent 1: rancher-cluster-info-inspector
Agent 2: rancher-node-health-inspector
Agent 3: rancher-event-inspector
→ 汇总报告(仅含 3 个维度)
模式 4: 指定命名空间巡检
用户: "巡检 production 集群的 app 和 monitoring 命名空间"
→ 并行启动维度 Agent(传入 namespaces 参数):
Agent 1: rancher-workload-inspector(namespaces: ["app", "monitoring"])
Agent 2: rancher-event-inspector(namespaces: ["app", "monitoring"])
→ 聚焦指定命名空间的检查结果
模式 5: 变更前后对比巡检
用户: "做一次变更前巡检"
→ 并行启动 6 个维度 Agent(完整巡检)
→ 保存报告作为基线
用户(变更后): "做变更后检查"
→ 并行启动 6 个维度 Agent(完整巡检)
→ 与之前的基线对比,高亮变化项
工作流
步骤 1: 识别巡检类型
- 完整巡检 vs 快速巡检 vs 专项巡检?
- 单集群 vs 多集群?
- 是否指定命名空间?
步骤 2: 获取集群信息
如果用户提供集群名称而非 ID:
→ 使用 cluster_list(name: "关键词")搜索
→ 获取匹配的集群 ID
如果用户要求巡检"所有集群":
→ 使用 cluster_list 获取完整列表
步骤 3: 并行启动维度 Agent
完整巡检(6 Agent 并行):
// 同时启动 6 个维度 Agent
const tasks = [
Task({
subagent_type: "general-purpose",
description: "巡检集群基础信息",
prompt: `你是 rancher-cluster-info-inspector。对集群 ${cluster}(${name})执行集群基础信息巡检。检查集群状态、K8s 版本、项目和命名空间概况。返回标准化维度报告(含 dimension、score、status、items、issues、recommendations)。`
}),
Task({
subagent_type: "general-purpose",
description: "巡检节点健康",
prompt: `你是 rancher-node-health-inspector。对集群 ${cluster}(${name})执行节点健康巡检。检查 Ready 状态、Conditions、Taints、kubelet 版本一致性。返回标准化维度报告。`
}),
Task({
subagent_type: "general-purpose",
description: "巡检资源容量",
prompt: `你是 rancher-capacity-inspector。对集群 ${cluster}(${name})执行资源容量巡检。检查 CPU/内存请求/限制/使用率、Pod 数量、过度分配。返回标准化维度报告。`
}),
Task({
subagent_type: "general-purpose",
description: "巡检工作负载",
prompt: `你是 rancher-workload-inspector。对集群 ${cluster}(${name})执行工作负载健康巡检。检查 Deployment/StatefulSet/DaemonSet 可用性、异常 Pod。返回标准化维度报告。`
}),
Task({
subagent_type: "general-purpose",
description: "巡检异常事件",
prompt: `你是 rancher-event-inspector。对集群 ${cluster}(${name})执行异常事件巡检。检查 Warning 事件、OOMKilling、FailedScheduling 等关键事件。返回标准化维度报告。`
}),
Task({
subagent_type: "general-purpose",
description: "巡检系统组件",
prompt: `你是 rancher-system-inspector。对集群 ${cluster}(${name})执行系统组件巡检。检查 kube-system、cattle-system 核心组件状态。返回标准化维度报告。`
})
];
const results = await Promise.all(tasks);
快速巡检(3 Agent 并行):
const tasks = [
Task({ ... description: "巡检集群基础信息", prompt: "rancher-cluster-info-inspector ..." }),
Task({ ... description: "巡检节点健康", prompt: "rancher-node-health-inspector ..." }),
Task({ ... description: "巡检异常事件", prompt: "rancher-event-inspector ..." })
];
多集群巡检(N × 6 Agent 并行):
const clusters = await cluster_list();
const tasks = clusters.flatMap(c => [
Task({ ... prompt: `rancher-cluster-info-inspector for ${c.id}` }),
Task({ ... prompt: `rancher-node-health-inspector for ${c.id}` }),
Task({ ... prompt: `rancher-capacity-inspector for ${c.id}` }),
Task({ ... prompt: `rancher-workload-inspector for ${c.id}` }),
Task({ ... prompt: `rancher-event-inspector for ${c.id}` }),
Task({ ... prompt: `rancher-system-inspector for ${c.id}` })
]);
const results = await Promise.all(tasks);
// 按集群分组汇总
步骤 4: 汇总巡检报告
- 收集所有维度 Agent 的返回结果
- 汇总评分概览表格
- 合并各维度的详细检查结果
- 合并问题清单(按严重程度排序)
- 合并改进建议(按优先级排序)
- 计算整体评分(取各维度最低分)
响应格式
单集群巡检报告
## 集群巡检报告: production (c-abc123)
### 巡检概览
- 巡检时间: 2025-01-15 10:30
- 巡检范围: 完整巡检(6 维度并行)
- **整体评分: B(良好)**
### 评分概览
| 维度 | Agent | 评分 | 状态 |
|------|-------|------|------|
| 集群基础信息 | cluster-info-inspector | A | ✅ 正常 |
| 节点健康 | node-health-inspector | B | ⚠️ 注意 |
| 资源容量 | capacity-inspector | A | ✅ 正常 |
| 工作负载健康 | workload-inspector | B | ⚠️ 注意 |
| 异常事件 | event-inspector | A | ✅ 正常 |
| 系统组件 | system-inspector | A | ✅ 正常 |
### 问题清单
| 严重程度 | 维度 | 问题 | 建议 |
|----------|------|------|------|
| ⚠️ | 节点健康 | node-5 NotReady | 检查 kubelet |
| ⚠️ | 工作负载 | 2 个 Pod CrashLoopBackOff | 查看日志 |
### 改进建议
1. **[紧急]** 修复 node-5
2. **[建议]** 排查崩溃 Pod
多集群巡检总览
## 多集群巡检总览
| 集群 | 评分 | 集群信息 | 节点 | 容量 | 工作负载 | 事件 | 系统 | 关键问题 |
|------|------|----------|------|------|----------|------|------|----------|
| production | B | ✅ | ⚠️ | ✅ | ⚠️ | ✅ | ✅ | 1 节点 NotReady |
| staging | A | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 无 |
| dev | C | ✅ | ⚠️ | ⚠️ | ⚠️ | ⚠️ | ✅ | 容量不足 |
### 集群详情
[各集群独立巡检报告...]
巡检范围 → Agent 映射速查表
| 范围 | Agent 数量 | 维度 Agent |
|---|---|---|
| full | 6 | cluster-info + node-health + capacity + workload + event + system |
| quick | 3 | cluster-info + node-health + event |
| nodes | 2 | node-health + capacity |
| workloads | 2 | workload + event |
| events | 1 | event |
| system | 1 | system |
巡检最佳实践
- 日常巡检:每天执行 quick 巡检(3 Agent),关注节点和事件
- 周巡检:每周执行 full 巡检(6 Agent),覆盖所有维度
- 变更巡检:重大变更前后各做一次 full 巡检,对比差异
- 事件驱动:收到告警后执行对应专项巡检
- 多集群:定期对所有集群做 full 巡检,生成健康趋势
错误处理
- 维度 Agent 失败: 在报告中标注该维度为"巡检失败",不影响其他维度评分
- metrics-server 未安装: capacity-inspector 跳过实际使用率,报告中注明
- 集群不可达: 标记为巡检失败,报告集群连接问题
- 权限不足: 各 Agent 尽可能巡检可访问资源,注明权限限制
- 数据不完整: 基于可用数据生成报告,标注缺失项
与其他技能的关系
| 巡检发现问题 | 后续行动 | 使用技能 |
|---|---|---|
| 节点 NotReady | 深入分析节点 | capacity-analysis |
| Pod CrashLoopBackOff | 诊断 Pod | resource-troubleshooting |
| Deployment 不可用 | 查看部署变更 | deployment-management |
| 资源不足 | 容量规划 | capacity-analysis |
| 可疑事件 | 追溯资源变更 | resource-discovery |
Weekly Installs
1
Repository
futuretea/ranch…ssistantFirst Seen
Feb 28, 2026
Security Audits
Installed on
windsurf1
amp1
cline1
opencode1
cursor1
kimi-cli1