返回顶部
k

k8s-fta-skillK8s故障诊断

基于FTA故障树分析法的Kubernetes问题定位和修复工具。当用户遇到k8s集群问题、Pod运行异常、服务访问失败、RBAC权限问题、DNS解析失败、OOMKilled、健康检查失败、网络策略限制、存储挂载问题、HPA扩展问题、API Server连接问题等情况时,使用此技能自动执行kubectl命令进行故障排查和修复。同时支持k3s轻量级Kubernetes发行版的故障排查。Supports both Chinese and English troubleshooting and automated fixing for Kubernetes cluster issues including Pod failures, service access problems, RBAC issues, DNS resolution failures, OOMKilled, health check failures, network policy restrictions, storage mount issues, HPA scaling problems, and API Serve

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.0
安全检测
已通过
324
下载量
免费
免费
3
收藏
概述
安装方式
版本历史

k8s-fta-skill

Kubernetes FTA故障树分析技能

技能简介

本技能基于FTA(故障树分析)方法,提供系统化的Kubernetes集群故障排查和自动修复功能。通过自动执行kubectl命令,帮助用户快速定位和解决k8s环境中的各种问题,包括Pod运行异常、服务访问失败、网络通信问题、RBAC权限问题、DNS解析失败、OOMKilled、健康检查失败、网络策略限制、存储挂载问题、HPA扩展问题、API Server连接问题等。

工作方式

自动化故障排查流程

  1. 1. 用户描述问题:用户描述k8s集群中遇到的问题
  2. 自动执行命令:技能根据FTA流程,自动执行相应的kubectl命令
  3. 分析输出结果:技能分析命令输出,识别问题原因
  4. 执行下一步操作:技能根据分析结果,自动执行下一步排查命令
  5. 提供修复方案:技能提供具体的修复建议,必要时自动执行修复命令
  6. 验证修复效果:技能验证修复是否成功,确保问题得到解决

安全性考虑

  • - 只读操作优先:优先执行只读命令(如kubectl get、kubectl describe、kubectl logs)
  • 修改操作确认:执行修改操作前,先向用户确认操作内容
  • 环境检查:执行命令前检查k8s/k3s环境是否可用
  • 错误处理:遇到错误时自动重试或提供替代方案
  • 回滚机制:对于修改操作,提供回滚选项

故障排查流程

1. 开始排查

自动执行以下命令检查集群中所有Pod的状态:

bash
kubectl get pods --all-namespaces

分析输出

  • - 检查是否有Pod处于非Running状态
  • 识别异常状态的Pod(Pending、CrashLoopBackOff、Error等)
  • 记录异常Pod的名称和命名空间

2. Pod状态检查

2.1 Pod状态分析

根据第一步的结果,对异常状态的Pod执行详细检查:

bash
kubectl describe pod -n

分析输出

  • - 检查Events部分,识别调度失败、镜像拉取失败等问题
  • 检查Container State,识别容器启动失败、运行时错误等
  • 检查Conditions,识别Pod就绪状态、调度状态等

2.2 根据状态执行相应检查

Pending状态
bash
kubectl describe node
kubectl get resourcequota -n
kubectl describe pvc -n

CrashLoopBackOff状态
bash
kubectl logs -n
kubectl logs --previous -n

Error状态
bash
kubectl logs -n
kubectl describe pod -n

3. 资源配额检查

如果Pod处于Pending状态且资源不足,检查资源配额:

bash
kubectl get resourcequota -n
kubectl describe resourcequota -n
kubectl describe node

分析输出

  • - 检查ResourceQuota是否已满
  • 检查节点资源使用情况
  • 识别资源瓶颈(CPU、内存、存储等)

自动修复建议

  • - 建议增加ResourceQuota限制
  • 建议调整Pod资源请求和限制
  • 建议扩容节点资源

4. 存储问题检查

如果存在PersistentVolumeClaim问题,检查存储配置:

bash
kubectl get pvc -n
kubectl describe pvc -n
kubectl get pv
kubectl describe pv

分析输出

  • - 检查PVC是否处于Bound状态
  • 检查PV是否可用
  • 检查存储类(StorageClass)配置
  • 识别存储驱动问题

自动修复建议

  • - 建议检查存储类配置
  • 建议修复PV/PVC绑定问题
  • 建议检查存储驱动状态

5. 镜像问题检查

如果存在镜像拉取失败,检查镜像配置:

bash
kubectl describe pod -n
kubectl get pods -n -o jsonpath={.items[].spec.containers[].image}

分析输出

  • - 检查镜像名称是否正确
  • 检查镜像Tag是否存在
  • 检查是否需要从私有仓库拉取镜像
  • 识别认证问题

自动修复建议

  • - 建议修正镜像名称和Tag
  • 建议创建或更新imagePullSecret
  • 建议检查私有仓库访问权限

6. 容器启动问题检查

如果Pod处于CrashLoopBackOff状态,检查容器日志:

bash
kubectl logs -n --tail=100
kubectl logs -n --previous --tail=100

分析输出

  • - 检查应用程序错误日志
  • 检查配置错误
  • 检查依赖服务连接失败
  • 识别启动失败原因

自动修复建议

  • - 建议修复应用程序错误
  • 建议修正配置文件
  • 建议检查依赖服务状态
  • 建议增加健康检查超时时间

7. 网络通信检查

执行端口转发测试Pod内部服务是否正常:

bash
kubectl port-forward 8080: -n

分析输出

  • - 检查端口转发是否成功
  • 测试本地端口访问
  • 验证容器内部服务是否正常

自动修复建议

  • - 建议检查容器端口配置
  • 建议检查应用程序监听地址
  • 建议检查网络策略限制

8. Service配置检查

如果服务访问失败,检查Service配置:

bash
kubectl get svc -n
kubectl describe svc -n
kubectl get endpoints -n

分析输出

  • - 检查Service类型配置
  • 检查端口映射是否正确
  • 检查Pod选择器是否匹配
  • 检查后端Pod是否就绪

自动修复建议

  • - 建议修正Service端口配置
  • 建议确保Pod标签匹配
  • 建议检查网络策略
  • 建议检查后端Pod状态

9. Ingress配置检查

如果通过Ingress访问失败,检查Ingress配置:

bash
kubectl get ingress -n
kubectl describe ingress -n
kubectl get svc -n

分析输出

  • - 检查Ingress规则配置
  • 检查后端Service配置
  • 检查Ingress控制器状态
  • 检查TLS证书配置

自动修复建议

  • - 建议修正Ingress规则
  • 建议检查Ingress控制器
  • 建议检查后端Service状态
  • 建议更新TLS证书

10. 节点状态检查

如果多个Pod出现问题,检查节点状态:

bash
kubectl get nodes
kubectl describe node
kubectl top nodes

分析输出

  • - 检查节点是否处于NotReady状态
  • 检查节点资源使用情况
  • 检查kubelet状态
  • 识别节点问题

自动修复建议

  • - 建议重启kubelet服务
  • 建议检查节点资源
  • 建议排查节点网络问题
  • 建议替换故障节点

11. OOMKilled问题检查

如果Pod被OOMKilled,检查内存使用:

bash
kubectl describe pod -n
kubectl top pod -n
kubectl top nodes

分析输出

  • - 检查Pod内存限制设置
  • 检查实际内存使用情况
  • 识别内存泄漏
  • 检查节点内存压力

自动修复建议

  • - 建议增加Pod内存限制
  • 建议优化应用程序内存使用
  • 建议排查内存泄漏
  • 建议增加节点内存

12. 健康检查失败检查

如果Pod因健康检查失败而重启,检查健康检查配置:

bash
kubectl describe pod -n
kubectl logs -n

分析输出

  • - 检查livenessProbe配置
  • 检查readinessProbe配置
  • 检查健康检查端点状态
  • 识别健康检查失败原因

自动修复建议

  • - 建议调整健康检查参数
  • 建议增加初始延迟时间
  • 建议修复健康检查端点
  • 建议优化应用程序启动时间

13. RBAC权限问题检查

如果遇到权限拒绝错误,检查RBAC配置:

bash
kubectl auth can-i --as=

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 k8s-fta-skill-1776112503 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 k8s-fta-skill-1776112503 技能

通过命令行安装

skillhub install k8s-fta-skill-1776112503

下载

⬇ 下载 k8s-fta-skill v0.1.0(免费)

文件大小: 10.15 KB | 发布时间: 2026-4-15 13:09

v0.1.0 最新 2026-4-15 13:09
Initial release of k8s-fta-skill with automated Kubernetes troubleshooting and repair.

- Provides automated, systematic troubleshooting and fixes for common Kubernetes and k3s cluster issues using Fault Tree Analysis (FTA).
- Supports diagnosis and remediation of Pod failures, service connectivity, RBAC, DNS, OOMKilled, health checks, network policy, storage, HPA, and API Server problems.
- Executes appropriate kubectl commands, analyzes outputs, and suggests or performs fixes with safety checks.
- Offers step-by-step investigation flows, user confirmation before modification actions, and rollback options.
- Compatible with both Chinese and English environments.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部