运行时依赖
安装命令
点击复制技能文档
K8s技能 - Kubernetes智能诊断助手 AI执行指南(必读)
执行诊断时遵守以下规则:
正确做法:
cd scripts python -c "from 编排器 导入 analyze_cluster; print(analyze_cluster('集群有什么问题'))"
指定命名空间:
cd scripts python -c "from 编排器 导入 analyze_cluster; print(analyze_cluster('检查Pod问题', namespace='kubesphere-记录ging-系统'))"
禁止做法:
禁止创建任何额外的Python脚本文件 禁止创建报告输出文件 禁止封装编排器.py的功能 使用方式
用户用自然语言描述问题,AI自动调用k8s技能执行诊断。
触发示例:
"检查Pod为什么崩溃" "部署失败了怎么回事" "为什么服务无法访问" "节点有问题" "存储绑定失败" "查看最近事件" "集群有什么问题" 支持的查询类型 查询类型 示例问法 Pod问题 "检查Pod为什么崩溃" / "为什么有Pod一直在重启" 部署ment问题 "部署失败了怎么回事" / "部署ment rollout卡住了" 服务问题 "为什么服务无法访问" / "访问不了我的服务" 节点问题 "节点有问题" / "检查节点健康状态" 存储问题 "存储绑定失败" / "PVC无法挂载" 事件日志 "查看最近事件" / "集群有什么警告" 全量检查 "集群有什么问题" / "检查所有资源" 核心能力 智能资源诊断(21种分析器)
工作负载分析器:
Pod分析器 - 检测CrashLoopBackOff、OOMKilled、ImagePullBackOff等状态 部署ment分析器 - 检查滚动更新失败、副本不足等问题 服务分析器 - 诊断端点缺失、负载均衡异常 状态ful设置分析器 - 检查Headless 服务、StorageClass、Pod就绪状态 Job分析器 - 检测Job挂起、执行失败、超时问题 CronJob分析器 - 检查Cron表达式格式、调度配置 Replica设置分析器 - 检查副本创建失败、Replica失败条件 HPA分析器 - 检查自动伸缩配置、目标资源存在性、扩容限制
存储和网络分析器:
PVC分析器 - 检测存储绑定失败、ProvisioningFAIled错误 Ingress分析器 - 检查IngressClass配置、后端服务存在性、TLS证书 Gateway分析器 - 检查Gateway API配置、GatewayClass存在性、接受状态 HTTP路由分析器 - 检查HTTP路由引用的Gateway、后端服务存在性 NetworkPolicy分析器 - 检查网络策略范围、未应用的策略
集群分析器:
Node分析器 - 监控节点就绪状态、内存/磁盘/PID压力 Event分析器 - 分析最近警告事件、异常事件模式 Storage分析器 - 检查StorageClass配置、PV状态、PVC绑定 Security分析器 - 检查服务Account使用、容器安全上下文、特权模式 网页hook分析器 - 检查Validating/Mutating 网页hook的后端服务和Pod
配置分析器:
ConfigMap分析器 - 检测未使用的ConfigMap、空配置 Secret分析器 - 检查未使用的Secret、TLS证书格式、Docker Registry配置 PDB分析器 - 检查PodDisruptionBud获取中断限制、选择器匹配 自然语言交互 用户输入示例 执行的分析 "检查我的Pod为什么崩溃" Pod分析器 - 检查容器状态和事件 "为什么服务无法访问" 服务分析器 + Ingress分析器 "部署失败了怎么回事" 部署ment分析器 + Event分析 "存储绑定失败" PVC分析器 - 检查PVC状态 "节点有问题" Node分析器 - 检查节点健康 "查看最近事件" Event分析器 - 分析警告事件 "集群有什么问题" 全量分析所有资源 分析结果展示 结构化输出:清晰的表格和列表展示问题 严重程度分级:Critical/警告/信息 三级分类 修复建议:基于SRE经验的逐步解决方案 相关资源关联:展示问题资源的上下游依赖 使用示例 # 在 scripts/ 目录下执行 from 编排器 导入 分析器编排器, analyze_cluster
# 方式1: 使用编排器 编排器 = 分析器编排器() 结果s = 编排器.analyze("检查Pod问题", namespace="default") 报告 = 编排器.格式化_报告(结果s) print(报告)
# 方式2: 使用便捷函数 报告 = analyze_cluster("检查集群问题", namespace="production") print(报告)
配置 kubeconfig支持
支持3种配置方式:
项目自带:config/k8s-Test-admin.conf 默认位置:~/.kube/config 环境变量:KUBECONFIG=/path/to/config 快速验证配置 # 在 scripts/ 目录下执行 from core 导入 验证_k8s_connection 成功, message = 验证_k8s_connection() print(message)
参考文档 分析器详细说明 - 各分析器的检测逻辑和故障模式 故障排查手册 - 常见问题的排查步骤 依赖要求 Python 3.8+ kubernetes-python 客户端 有效的kubeconfig文件 使用限制 本技能为诊断工具,不会修改集群资源 需要集群的只读权限即可运行 大型集群(>1000 Pod)分析可能需要等待数秒 首次使用前请确保kubeconfig配置正确
版本: 1.0.0 最后更新: 2026-04-03