mcpField
K
kubernetes-health

kubernetes-health

github.com/nodnarbnitram云与 DevOps1684 次安装27 周前更新
代码仓库

关于 kubernetes-health

kubernetes-health 是用于诊断 Kubernetes 集群健康状况的发现驱动型技能。它利用现有 kubectl 配置检测 API 和已安装的 Operator,并调度相关健康检查 Agent;检查仅执行只读操作。

主要功能

  1. 01发现 API 组和已安装的 Operator
  2. 02执行核心及 Operator 健康检查
  3. 03并行调度专用 Agent
  4. 04按健康评分汇总结果
  5. 05生成统一 JSON 报告

适用场景

  1. 01部署后检查集群健康状况
  2. 02排查 Operator 配置各异的集群
  3. 03以不修改资源的方式查看集群状态

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nodnarbnitram/claude-code-extensions --skill kubernetes-health

安装后在 Claude Code 中输入/kubernetes-health确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
references/
health-scoring.md
operator-checks.md
scripts/
aggregate_report.py
discover_apis.py
health_orchestrator.py
templates/
health-report.json

详细介绍

Kubernetes 健康诊断

适用于任意 Kubernetes 集群配置的动态、由发现驱动的健康检查

开始之前

影响值
Token 节省与手动探索 kubectl 相比约节省 70%
设置时间0 分钟(使用现有 kubectl 配置)
覆盖范围自动适配已安装的 Operator
可预防的已知问题
问题根本原因此技能的帮助方式
Operator 健康状态缺失静态检查清单会漏掉 CRD动态 API 发现可检测所有已安装的 Operator
诊断结果过时手动检查会逐渐过时实时查询集群 API
覆盖不完整集群配置未知自动启用相关子 Agent

快速开始

  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 的检查
  • 使用提供的评分方法汇总结果
切勿执行
  • 在健康检查期间修改集群资源
  • 在健康报告中公开密钥值(仅包含元数据)
  • 跳过生产集群的上下文验证
  • 未经 API 发现就假定 Operator 已安装
常见错误
错误错误原因正确做法
将 Operator 检查硬编码会漏掉已安装的 Operator,也会检查未安装的 Operator使用 API 发现检测已安装的内容
顺序分派 Agent对于包含多个 Operator 的集群,速度较慢并行运行 Operator Agent(相同优先级)
原始 kubectl 输出Token 使用效率低,难以解析使用脚本生成精简的 JSON 输出

随附资源

脚本
脚本用途
scripts/discover_apis.py发现所有 API 组并检测已安装的 Operator
scripts/health_orchestrator.py将发现的 API 映射到专用健康检查 Agent
scripts/aggregate_report.py将多个 Agent 的结果汇总为统一报告
参考资料
文件内容
references/operator-checks.md每个受支持 Operator 的详细健康检查
references/health-scoring.md评分方法和权重分配
模板
文件用途
templates/health-report.json健康报告输出的 JSON 架构

依赖项

必需
包版本用途
kubectlLatest集群交互
Python>= 3.11脚本执行
uvLatestPython 脚本运行器
可选
包版本用途
kubernetes>= 28.1.0Python 客户端(用于高级发现)

支持的 Operator

该技能会自动检测并分派专用 Agent,用于检查:

OperatorAPI 组Agent
核心 K8s(始终启用)k8s-core-health-agent
Crossplanecrossplane.iok8s-crossplane-health-agent
ArgoCDargoproj.iok8s-argocd-health-agent
Cert-Managercert-manager.iok8s-certmanager-health-agent
Prometheusmonitoring.coreos.comk8s-prometheus-health-agent

健康评分

状态分数范围标准
HEALTHY90-100所有检查均通过,无警告
DEGRADED60-89存在部分警告,无严重问题
CRITICAL0-59存在影响可用性的严重问题

故障排除

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 触发条件匹配
  • 检查 .claude/agents/specialized/kubernetes/ 中是否存在 Agent 文件
  • 查看 Agent 的工具限制

设置清单

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

评论

支持 Markdown