SuperAPI AI 工具集

kubernetes-health

部署与运维

查看项目

更新于 10-16 10:05

技能介绍

Kubernetes Health Diagnostics 是一个面向 Kubernetes 集群的健康诊断技能,采用动态、以 API 发现为驱动的健康检查方式,可适配任何集群配置。

用途

该技能用于检查集群健康、排查 Kubernetes 问题,以及运行健康检查。它通过动态 API 发现机制,自动适配集群中已安装的 Operator,避免使用静态检查清单遗漏 CRD 或产生过时诊断。

主要能力

  • 动态 API 发现:通过 discover_apis.py 发现所有 API 组并检测已安装的 Operator。
  • 编排调度:health_orchestrator.py 将发现的 API 映射到专用健康检查 Agent。
  • 结果汇总:aggregate_report.py 将多 Agent 结果聚合为统一报告。
  • 多 Operator 支持:自动检测并调度针对 Core K8s(始终检查)、Crossplane(crossplane.io)、ArgoCD(argoproj.io)、Cert-Manager(cert-manager.io)、Prometheus(monitoring.coreos.com)的专用 Agent。
  • 健康评分体系:HEALTHY(90-100,全部检查通过且无警告)、DEGRADED(60-89,存在部分警告但无严重问题)、CRITICAL(0-59,存在影响可用性的严重问题)。
  • 附带资源:references/operator-checks.md(各支持 Operator 的详细健康检查)、references/health-scoring.md(评分方法与权重分配)、templates/health-report.json(健康报告输出的 JSON schema)。

使用方式

  1. 验证集群访问:确保 kubectl 已配置且能访问集群。
  2. 运行发现:执行 discover_apis.py 检测已安装的 Operator。
  3. 调度 Agent:使用编排器根据发现结果运行健康检查。

示例命令:

# Step 1: Verify kubectl context
kubectl config current-context
kubectl cluster-info

# Step 2: Run API discovery
uv run .claude/skills/kubernetes-health/scripts/discover_apis.py

# Step 3: Review detected operators and dispatch health agents

关键规则

始终:在运行健康检查前验证 kubectl 上下文;使用只读的 kubectl 命令(get、describe、logs);先运行核心健康检查再运行 Operator 专属检查;使用提供的评分方法聚合结果。 绝不:在健康检查期间修改集群资源;在健康报告中暴露 secret 值(仅元数据);跳过生产集群的上下文验证;在没有 API 发现的情况下假设 Operator 存在。

常见错误

  • 硬编码 Operator 检查:会遗漏已安装的 Operator 并检查不存在的 Operator;应使用 API 发现检测已安装项。
  • 顺序调度 Agent:对多 Operator 集群较慢;应并行运行相同优先级的 Operator Agent。
  • 使用原始 kubectl 输出:Token 效率低且难以解析;应使用脚本输出精简的 JSON。

依赖

必需:kubectl(最新版,用于集群交互)、Python(>= 3.11,用于脚本执行)、uv(最新版,用于运行 Python 脚本)。 可选:kubernetes(>= 28.1.0,Python 客户端,用于高级发现)。

故障排查

kubectl 连接问题:

# Verify context
kubectl config current-context

# Test connectivity
kubectl cluster-info

# Check permissions
kubectl auth can-i get pods --all-namespaces

发现返回空结果:确保集群可达;检查 API 发现的 RBAC 权限;验证 kubectl 版本兼容性。 Agent 调度失败:确认发现的 API 组与 Agent 触发条件匹配;检查 Agent 文件是否存在于 .claude/agents/specialized/kubernetes/;审查 Agent 工具限制。

设置检查清单

  • kubectl 已配置并连接集群
  • 已安装 Python 3.11+
  • 已安装 uv 用于脚本执行
  • 具备集群资源的读取权限
  • Agent 文件存在于 .claude/agents/specialized/kubernetes/

适用场景与限制

适用于需要动态适配集群配置的 K8s 健康检查与故障排查场景,尤其适合安装了多种 Operator 的集群。该技能为只读诊断工具,不会修改集群资源;检查能力取决于集群访问权限、已安装 Operator 及对应 Agent 文件是否存在。关于具体收费、价格或商业授权信息,资料中暂未提供。