AI在线 AI在线

AIOps系列 | 开发 K8s GPT 故障诊断工具

前面我们介绍了 《开发 K8s Chat 命令行工具》,实现了通过和 Kubernetes 进行交互的方式进行运维,虽然文章中所描述的功能比较简单,但是可以以此进行扩展,丰富功能。 那本章,我们将在 《开发 K8s Chat 命令行工具》的基础之上,增加 Kubernetes 故障诊断工具,其主要功能点是:获取集群的 event 时间,特别关注 warning 级别事件然后进入对应的 pod 获取日志大模型结合事件和日志进行分析,得出解决问题的建议当然,这里也只是起到一个抛砖引玉的作用,提供简单的思路,可以自行扩展。 开发过程(1)首先使用 cobra-cli 新增一个 analyze 命令复制(2)然后在 analyze 下面添加一个子命令 event,专门用于分析事件复制(3)设计一个方法 getPodEventsAndLogs 用于获取 K8s 的事件和日志复制我们使用一个 map[string][]string 来保存 pod 的事件和日志信息,然后通过 client-go 获取 warning 级别的事件,最后过滤需要的 pod 事件以及 pod 相关信息,然后继续通过 client-go 获取对应 pod 的日志,然后把这些信息放到 map 中。

前面我们介绍了 《开发 K8s Chat 命令行工具》,实现了通过和 Kubernetes 进行交互的方式进行运维,虽然文章中所描述的功能比较简单,但是可以以此进行扩展,丰富功能。

那本章,我们将在 《开发 K8s Chat 命令行工具》的基础之上,增加 Kubernetes 故障诊断工具,其主要功能点是:

  • 获取集群的 event 时间,特别关注 warning 级别事件
  • 然后进入对应的 pod 获取日志
  • 大模型结合事件和日志进行分析,得出解决问题的建议

当然,这里也只是起到一个抛砖引玉的作用,提供简单的思路,可以自行扩展。

开发过程

(1)首先使用 cobra-cli 新增一个 analyze 命令

复制

(2)然后在 analyze 下面添加一个子命令 event,专门用于分析事件

复制

(3)设计一个方法 getPodEventsAndLogs 用于获取 K8s 的事件和日志

复制

我们使用一个 map[string][]string 来保存 pod 的事件和日志信息,然后通过 client-go 获取 warning 级别的事件,最后过滤需要的 pod 事件以及 pod 相关信息,然后继续通过 client-go 获取对应 pod 的日志,然后把这些信息放到 map 中。

(4)设计一个 sendToChatGPT 的方法,接受 pod 的事件和日志信息,然后通过 AI 对其进行分析

复制

和 AI 的对话主要就是 prompt 的设计,然后把具体的参数传进去即可,没有特别的地方。

(5)使用 k8scopilot.exe analyze event 进行分析验证

分析结果如下:

复制

从上面的分析结果可以看到基本能够给出比较准确的建议。

当然,这里只是诊断问题,还可以对其功能进行扩展,比如:

  1. 故障自愈:
  • 结合 Function Calling 实现自动修复简单问题
  1. 增强分析:
  • 增加更多诊断数据源(metrics、节点状态等)
  • 实现历史问题匹配和知识库
  1. 可视化:
  • 生成 HTML 格式的诊断报告
  • 支持问题严重程度分级展示

最后

本文在《开发 K8s Chat 命令行工具》的基础上,进一步实现了 Kubernetes 故障诊断功能,核心思路是通过工具获取集群中 Warning 级别的事件及对应 Pod 的日志,再借助大模型分析并输出解决方案,为运维工作提供了便捷的故障排查途径。

具体而言,开发过程通过 cobra-cli 新增 analyze 命令及子命令 event,构建 getPodEventsAndLogs 方法获取相关事件与日志,设计 sendToChatGPT 方法将信息传入大模型进行分析。

相关资讯

探索AI+k8s:如何使用Deepseek大模型增强k8s-dashboard

一、导读 Kubernetes(简称K8s)的普及让开发和运维工作变得更加高效,但它的复杂性却让许多人在使用时面临挑战。 从网络配置到故障排查,每一步都需要深入的技术积累。 然而,随着人工智能技术的迅猛发展,借助智能工具,我们可以将许多复杂问题简单化。
4/16/2025 3:25:00 AM
冬子先生

OpenAI推全新语音转录模型gpt-4o-transcribe,语音转文字准确率飙升

继此前在语音 AI 领域引发一些关注后,OpenAI并未停下在该领域探索的脚步,现在这家ChatGPT的创造者再次发力,推出了三款全新的自主研发语音模型,分别为:gpt-4o-transcribe, gpt-4o-mini-transcribe and gpt-4o-mini-tts。 其中最受瞩目的当属gpt-4o-transcribe。 目前,这些新模型已经率先通过应用程序接口(API)向第三方开发者开放,开发者们可以利用它们打造更智能的应用程序。
3/21/2025 9:01:00 AM
AI在线

OpenAI发布GPT-4.1系列模型:能力全面超越前代

4月15日,OpenAI 在其官方博客宣布正式发布 GPT-4.1系列模型,涵盖 GPT-4.1、GPT-4.1mini 和 GPT-4.1nano 三款子模型。 该系列在编程能力、指令理解及长文本处理等方面实现重大突破,全面超越前代 GPT-4o 及 GPT-4o mini。 其中,模型上下文窗口扩展至100万 tokens,知识库更新至2024年6月,为复杂任务提供更强支持。
4/15/2025 9:00:45 AM
AI在线
  • 1