K8sGPT

K8sGPT - AI 驱动的 Kubernetes 故障排查与诊断 CLI 工具

上线于 2025年2月23日

K8sGPT 是一款开源 CLI 工具,将 SRE 经验与 AI 能力相结合,自动诊断和修复 Kubernetes 集群问题。提供 12+ 内置分析器,覆盖 Pod、Service、Deployment 等核心资源,支持数据匿名化和本地 AI 模型(Ollama)。支持 OpenAI、Azure、Google Vertex、Amazon Bedrock 等多种 AI 后端,可通过 MCP 服务器与 Claude Desktop 集成。

655访问量AI 开发工具公开定价调试开源命令行工具集成工作流自动化
K8sGPT - Main Image
K8sGPT - Screenshot 2
K8sGPT - Screenshot 3
K8sGPT - Screenshot 4
+1

什么是 K8sGPT

在 Kubernetes 已成为容器编排事实标准的今天,集群运维复杂性却持续攀升。当 Pod 陷入 Pending 状态、Deployment 出现 CrashLoopBackOff、Service 无法正常路由流量时,传统排查方式需要运维人员具备深厚的 SRE 经验,熟悉 Kubernetes 资源对象之间的关联关系,并能够从大量 Events 和日志中抽丝剥茧定位根因。这种排查方式不仅耗时,而且对团队技术能力要求极高。

K8sGPT 正是为解决这一痛点而生的开源 CLI 工具。该项目将资深 SRE 的故障排查经验编码为模块化的 Analyzers,结合大语言模型的智能分析能力,自动诊断 Kubernetes 集群中的各类问题。用户只需运行简单命令,即可获得问题根因的自然语言解释和具体的修复建议,大幅降低 Kubernetes 故障排查的技术门槛。

K8sGPT 内置了超过 12 个 Analyzers,覆盖 Pod、Service、Deployment、Ingress、StatefulSet、Job、CronJob、Node、PersistentVolumeClaim 等核心 Kubernetes 资源类型。每个 Analyzer 都封装了特定的故障模式识别逻辑,当检测到异常时,AI 模型会基于上下文信息生成易于理解的诊断报告。

作为开源项目,K8sGPT 已获得活跃的 GitHub 社区支持,被 Spectro Cloud、Nethopper、Upstage AI 等知名企业采用,并通过了 Product Hunt 推荐和 HelloGitHub 精选。项目采用 Apache 2.0 开源许可证,完全免费使用,同时提供完整的源代码和详细的开发文档,方便技术团队深度定制和二次开发。

:::card{type="summary" title="核心要点"}

  • 开源免费:Apache 2.0 许可证,零使用成本
  • 12+ 内置分析器:覆盖 Pod、Service、Deployment、Ingress 等核心资源
  • 多 AI 后端支持:OpenAI、Azure、Google Vertex、Ollama 等多种选择
  • MCP 服务器集成:支持与 Claude Desktop 等 AI 助手无缝对接 :::

---

K8sGPT 的核心功能

K8sGPT 提供了一套完整的 Kubernetes 智能运维解决方案,核心功能围绕 AI 驱动的自动化故障排查展开。

AI-Powered Analysis 是产品的核心能力。通过 `k8sgpt analyze` 命令,系统会自动扫描集群状态,识别异常资源。每个 Analyzer 负责检测特定资源类型的常见故障模式,例如 Pod Analyzer 会检测 ImagePullBackOff、OOMKilled、CrashLoopBackOff 等状态,Service Analyzer 会分析 Endpoint 缺失、Selector 不匹配等问题。分析完成后,用户可通过 `--explain` 参数获取 AI 生成的自然语言解释和修复建议。K8sGPT 还提供 `--stats` 模式,显示每个 Analyzer 的执行时间,便于性能调优。

Data Anonymization 功能确保敏感数据安全。在生产环境中,Kubernetes 对象的名称、标签、注解可能包含业务敏感信息。K8sGPT 内置数据匿名化引擎,会在将数据发送给 AI 后端前自动替换为可逆的占位符。该功能覆盖 StatefulSet、Service、PodDisruptionBudget、Node、NetworkPolicy、Ingress、HPA、Deployment、CronJob 等 12 种以上资源类型,确保敏感信息不会离开用户环境。

Multiple AI Providers 架构提供了极大的灵活性。K8sGPT 支持 OpenAI、Azure OpenAI、Google Vertex AI、Amazon Bedrock、Cohere、Hugging Face、IBM WatsonX、Ollama 等多种 AI 后端。用户可通过 `k8sgpt auth` 命令配置不同的 Provider,对于数据敏感场景推荐使用本地部署的 Ollama 模型,数据完全保留在本地环境。

MCP Server 功能将 K8sGPT 能力暴露为标准化的工具和资源。通过 Model Context Protocol,K8sGPT 提供 12 个工具(集群分析、资源管理、日志/事件访问、Analyzer 配置)、3 个只读资源和 3 个引导式故障排查 prompts。支持 Stdio 模式(`k8sgpt serve --mcp`)和 HTTP 模式(`k8sgpt serve --mcp --mcp-http --mcp-port 8089`),可与 Claude Desktop 等 AI 助手直接集成。

In-Cluster Operator 模式支持生产环境的持续监控。k8sgpt-operator 可部署到 Kubernetes 集群内部,与 Prometheus、Alertmanager 集成,实现定时分析和告警通知。

::::grid :::card{type="advantages"}

  • 故障排查效率高:几秒钟内获得根因分析和修复建议,无需人工逐层排查
  • 数据安全有保障:内置匿名化功能,支持本地 AI 模型,数据不离开用户环境
  • 部署方式灵活:支持本地 CLI、Operator 集群部署、MCP 服务器多种模式
  • 扩展能力强:支持自定义 Analyzers,可针对特定业务场景扩展分析能力 ::: :::card{type="disadvantages"}
  • 依赖 AI API:使用云端 AI Provider 时需自付 API 费用,本地模型则需额外部署资源
  • 需要基础配置:首次使用需配置 AI 后端,对新用户有一定上手门槛 ::: ::::

---

谁在使用 K8sGPT

K8sGPT 适用于多种 Kubernetes 运维场景,不同用户可根据自身需求选择合适的部署模式。

场景一:应用故障快速排查。当 Kubernetes 应用出现异常状态时,运维人员通常需要在多个命名空间间切换,查看 Events、日志、资源配置,手动分析问题根因。使用 K8sGPT 后,只需运行 `k8sgpt analyze --explain`,系统会自动分析集群状态,在几秒钟内返回问题根因和修复建议。无论是 Pod 的 Pending 状态、CrashLoopBackOff 错误,还是 Service 的 Endpoint 缺失,都能快速定位。

场景二:集群健康检查。对于需要定期巡检的生产环境,推荐部署 k8sgpt-operator。该 Operator 可在集群内持续运行,按照预设策略执行定时分析,并与 Prometheus 和 Alertmanager 集成,实现主动风险发现。这种模式特别适合 SRE 团队建立常态化的集群健康检查机制。

场景三:生产环境数据保护。金融、医疗等行业的生产环境对数据隐私有严格要求,不允许将业务数据发送到外部 AI 服务。K8sGPT 提供两种解决方案:一是使用 `--anonymize` 参数启用数据匿名化,敏感信息在发送前自动脱敏;二是部署本地 Ollama 模型,所有分析过程都在本地完成,数据完全不离开 DMZ 环境。

场景四:Claude Desktop 集成。通过配置 K8sGPT MCP 服务器,用户可以用自然语言与 Kubernetes 集群交互。例如,向 Claude 询问"查看当前集群中有哪些异常的 Pod",AI 助手会调用 K8sGPT 工具查询并返回分析结果。这种交互方式特别适合不熟悉 kubectl 命令的开发人员。

场景五:多云 Kubernetes 管理。企业通常在 AWS EKS、Azure AKS、GKE 等多个云平台部署 Kubernetes 集群,统一的故障诊断工具可以显著降低运维复杂度。K8sGPT 支持多种 AI 后端,无论底层是哪个云提供商,都能提供一致的排查体验。

:::card{type="tip" title="💡 部署模式选择建议"} 日常故障排查使用本地 CLI 模式即可满足需求,部署简单快捷;生产环境建议使用 k8sgpt-operator 实现自动化巡检和告警。 :::

---

快速开始

K8sGPT 支持多种安装方式,开发者可根据使用场景选择最合适的部署方案。

本地 CLI 安装是最常见的部署方式。macOS 和 Linux 用户可通过 Homebrew 一键安装:`brew install k8sgpt`。Windows 用户可从 GitHub Releases 页面下载二进制文件,并将其添加到系统 PATH 环境变量。安装完成后,运行 `k8sgpt version` 验证安装是否成功。

AI 后端配置是使用前的必要步骤。首次使用需配置 AI Provider,对于快速测试可选择 OpenAI:`k8sgpt auth add openai`,然后输入 API Key。Azure 用户需配置 endpoint、deployment 等参数。推荐数据敏感场景使用本地 Ollama 模型,只需运行 `k8sgpt auth add ollama` 并确保本地 Ollama 服务已启动。

基础命令包括分析执行和结果解释。`k8sgpt analyze` 会扫描默认命名空间的所有资源,识别异常并输出摘要。如需获取详细解释,加上 `--explain` 参数即可看到 AI 生成的自然语言分析报告。`k8sgpt analyze --namespace my-app --explain` 可指定特定命名空间进行深入分析。

配置文件位置遵循各操作系统的标准约定:macOS 为 `~/Library/Application Support/k8sgpt/k8sgpt.yaml`,Linux 为 `~/.config/k8sgpt/k8sgpt.yaml`,Windows 为 `%LOCALAPPDATA%/k8sgpt/k8sgpt.yaml`。配置文件采用 YAML 格式,可在此处预设默认的 AI Provider、命名空间、Analyzers 列表等参数。

MCP 服务器启动支持两种模式。Stdio 模式适合与 Claude Desktop 集成,执行 `k8sgpt serve --mcp` 即可启动。HTTP 模式支持更广泛的网络集成,使用 `k8sgpt serve --mcp --mcp-http --mcp-port 8089` 在指定端口暴露服务。

:::card{type="tip" title="💡 生产环境最佳实践"} 在生产环境使用 K8sGPT 时,建议始终添加 `--anonymize` 参数,确保 Kubernetes 对象名称、标签等敏感信息在发送给 AI 后端前已自动脱敏。 :::

---

技术特点

K8sGPT 在技术架构设计上追求模块化、可扩展性和安全性,能够满足企业级 Kubernetes 运维需求。

模块化 Analyzer 架构是 K8sGPT 的核心设计理念。项目内置了超过 12 个默认启用的 Analyzers,包括 podAnalyzer(Pod 状态分析)、pvcAnalyzer(持久卷声明)、rsAnalyzer(ReplicaSet)、serviceAnalyzer(服务)、eventAnalyzer(事件)、ingressAnalyzer(入口)、statefulSetAnalyzer(有状态集)、deploymentAnalyzer(部署)、jobAnalyzer(作业)、cronJobAnalyzer(定时任务)、nodeAnalyzer(节点)、mutatingWebhookAnalyzer 和 validatingWebhookAnalyzer(Webhook 配置)等。每个 Analyzer 独立实现,可单独启用或禁用,用户也可通过 gRPC 服务接口开发自定义 Analyzers,项目提供了 Rust 实现的 host-analyzer 作为参考示例。

MCP 协议支持使 K8sGPT 成为 AI 助手与 Kubernetes 之间的桥梁。MCP(Model Context Protocol)是用于 AI 系统与外部工具交互的标准协议,K8sGPT MCP 服务器将 Kubernetes 操作封装为标准化的工具和资源。通过该协议,Claude Desktop 等 AI 助手可以直接调用 K8sGPT 的分析能力,实现自然语言驱动的集群运维。

可选 Analyzers扩展了产品的分析范围。HPA Analyzer 分析自动扩缩容配置,PDB Analyzer 检查 Pod 中断预算,NetworkPolicy Analyzer 审计网络策略,Gateway 相关 Analyzer 支持 Gateway API,还有日志分析、存储分析、安全分析等高级功能。Operator 相关的 CatalogSource、ClusterCatalog、ClusterExtension 等 Analyzer 可分析 Operator Framework 生态组件。

远程缓存功能在多集群场景下非常实用。K8sGPT 支持将分析结果缓存到 AWS S3、Azure Blob Storage 或 Google Cloud Storage,多个集群可以共享缓存,减少重复的 API 调用和分析开销。

安全合规方面,K8sGPT 获得了 OpenSSF Best Practices 认证,代码遵循安全开发生命周期。项目使用 Apache 2.0 许可证,完全开源透明。FOSSA 合规检查确保依赖项的许可证合规性。在数据安全层面,除匿名化功能外,还支持本地 AI 模型部署,确保敏感数据不出网络边界。

::::grid :::card{type="advantages"}

  • 架构灵活:模块化设计支持自定义 Analyzers,满足特定业务场景需求
  • 安全合规:OpenSSF 认证、Apache 2.0 许可证、数据匿名化、本地模型支持
  • 企业友好:远程缓存、多集群管理、Operator 集成,满足生产环境要求 ::: :::card{type="disadvantages"}
  • 需要 AI 理解能力:AI 解释的准确性依赖底层模型,对复杂场景可能需要人工判断
  • 网络依赖:使用云端 AI Provider 时需要稳定的网络连接 ::: ::::

---

常见问题

:::card{type="faq" title="K8sGPT 与其他 Kubernetes 监控工具的区别是什么?"} 传统监控工具(如 Prometheus、Grafana)主要负责指标采集和可视化告警,发现问题后仍需运维人员手动排查。K8sGPT 的差异化在于结合 AI 能力,不仅能检测问题,还能理解问题上下文,提供自然语言解释和具体的修复建议,相当于将资深 SRE 的经验自动化。 :::

:::card{type="faq" title="数据隐私如何保障?"} K8sGPT 提供多层数据保护机制。首先,`--anonymize` 参数可在数据发送给 AI 前自动脱敏,替换 Kubernetes 对象名称、标签等敏感信息。其次,支持本地部署 Ollama 模型,所有分析在本地完成,数据完全不离开网络。最后,对于缓存需求,支持将缓存存储在用户自己的 S3/Azure/GCS 账号中。 :::

:::card{type="faq" title="支持哪些 AI 提供商?"} K8sGPT 支持广泛的 AI 后端选择。主流云服务包括 OpenAI、Azure OpenAI、Google Vertex AI、Amazon Bedrock、IBM WatsonX、Cohere、Hugging Face。本地部署支持 Ollama。对于高级用户,还支持自定义 REST API 接入其他模型服务。 :::

:::card{type="faq" title="如何与 Claude Desktop 集成?"} 首先确保已安装 Claude Desktop,然后在终端运行 `k8sgpt serve --mcp` 启动 MCP 服务器。接着编辑 Claude Desktop 配置文件(macOS 位于 ~/Library/Application Support/Claude/claude_desktop_config.json),添加 K8sGPT MCP 服务器配置。配置完成后,即可用自然语言向 Claude 询问集群问题。 :::

:::card{type="faq" title="是否需要在 Kubernetes 集群中部署?"} 可选。日常故障排查使用本地 CLI 模式完全足够,只需本地有 kubectl 配置即可连接集群。生产环境建议使用 k8sgpt-operator 部署到集群内部,可实现定时分析、Prometheus 集成、Alertmanager 告警等自动化运维能力。 :::

评论

评论

请先 登录 再发表评论。
还没有评论。成为第一个分享想法的人吧!