SuperAPI AI 工具集

k8s-check-fix

部署与运维

查看项目

更新于 10-16 05:00

技能介绍

用途:诊断 Kubernetes 集群、节点、Pod、Deployment 的健康问题,并在用户明确批准后执行受限的安全修复。适用于 Pod 频繁重启、节点 NotReady、kubectl 失败、滚动更新卡住、网络异常等场景;不适用于非 K8s 基础设施或仅查看容器日志。

主要能力:子命令 sweep(全集群健康检查)、pod(Pod 深入排查,可指定 tail)、deploy(Deployment 状态)、resources(资源压力)、events(近期事件,可指定 since)、fix(修复,需 confirm=True)。所有子命令返回 JSON,解析后以 Markdown 表格、列表、代码块呈现。

使用方式:首次运行检查技能目录下 config.json,缺失或字段不全时用 AskUserQuestion 收集默认上下文(kubectl config get-contexts -o name)、默认命名空间、自动确认修复(默认 false)、只读模式(默认 false),并写入 config.json;解析失败则报错停止。调用示例:k8s_check_fix(subcommand="sweep", context="prod")、k8s_check_fix(subcommand="pod", target="api-7f8d4-x2k9p", namespace="prod", tail=500)、k8s_check_fix(subcommand="fix", target="kubectl rollout undo deployment/my-app -n prod", confirm=True)。支持通过 remote_host 经 SSH 远程执行 kubectl。

限制与安全:每个 kubectl 命令须设超时(如 30 秒),超时即报告并停止;子命令失败不自动重试,询问用户是否继续;禁止连续调用超过 3 个子命令而不反馈。写操作白名单仅 rollout undo、rollout restart、scale、delete pod、cordon、uncordon;绝不执行 kubectl exec;不得输出 secret、token 或 kubeconfig 路径。修复需用户明确同意,只读模式拒绝所有 fix。故障指南位于 guides/faults/(如 etcd_cluster_failure.md、apiserver_cert_expired.md、scheduler_failure.md、worker_node_down.md、kubelet_cert_expired.md、cni_failure.md),缺失时报告并仅给通用建议。诊断未完成须说明失败步骤与原因。