jordigilh/kubernaut

GitHub: jordigilh/kubernaut

一个基于 LLM 智能体的 Kubernetes 自动化 AIOps 平台,实现从告警到修复的闭环。

Stars: 15 | Forks: 1

# Kubernaut **AIOps 平台,用于智能 Kubernetes 修复** [![Go Report Card](https://goreportcard.com/badge/github.com/jordigilh/kubernaut)](https://goreportcard.com/report/github.com/jordigilh/kubernaut) [![Go Version](https://img.shields.io/badge/Go-1.25.6-blue.svg)](https://golang.org/dl/) [![Kubernetes](https://img.shields.io/badge/Kubernetes-v1.32+-blue.svg)](https://kubernetes.io/) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/a91a54aa6c111151.svg)](https://github.com/jordigilh/kubernaut/actions/workflows/ci-pipeline.yml) Kubernaut 从 Kubernetes 告警到自动化修复闭环。当集群出现异常时,Kubernaut 检测信号,将其发送至由 LLM 驱动的智能体,该智能体使用原生 Go client-go 绑定连接 Kubernetes API、日志和 Prometheus 端点进行根因分析,选择修复工作流并执行修复——若无法自动修复,则将完整的事后分析(RCA)升级给人工处理。 ![CrashLoopBackOff 演示 — 从告警到自动化修复不到 5 分钟](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/c682db6970111152.gif) **[完整文档](https://jordigilh.github.io/kubernaut-docs/)** · **[演示场景](https://github.com/jordigilh/kubernaut-demo-scenarios)** ## 为什么 Kubernetes 运维人员花费数小时手动对告警进行分诊,从分散的日志和指标中诊断根因,并执行运行手册中的修复步骤,而这些运行手册往往已过时。响应依赖于部落知识、人工可用性,且常常在凌晨 3 点发生。 基于规则的修复工具可以帮助处理已知、确定性的问题——“如果 X,就执行 Y”。但当同一症状有多个根因,或正确的修复依赖于规则无法看到的上下文时,它们就会失效。 Kubernaut 填补了这一空白。它使用一个 LLM 智能体,通过原生 Go 绑定连接 Kubernetes API 和可观测性栈来调查实际根因,从可搜索的工作流目录中选择合适的修复,执行修复,并验证修复是否生效——仅在必要时升级到人工。规则类工具是恒温器,而 Kubernaut 是能够诊断并自动调节恒温器的专家。 **[为什么选择 Kubernaut?——与基于规则的工具的完整对比](https://jordigilh.github.io/kubernaut-docs/latest/getting-started/why-kubernaut/)** ## 它能做什么 - **检测** — 摄入 Prometheus AlertManager 告警和 Kubernetes 事件,验证资源范围,并通过指纹去重 - **调查** — 使用 Kubernetes 检查工具、可配置的可观测性工具集(Prometheus 等)和修复历史记录进行实时根因分析 - **修复** — 通过 Tekton 流水线、Kubernetes 作业或 Ansible(AWX/AAP)从可搜索目录中选择并执行工作流,可选人工审批门控 - **闭环** — 通知团队(Slack、控制台),通过健康检查、告警解决和规格哈希漂移检测验证修复是否生效,并将有效性评分反馈到未来的调查中
架构 ![Kubernaut 分层架构](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/4607edbb39111153.svg)
## 路线图 ### v1.3 — Go 统一与企业分发(当前) - **Kubernaut Agent (KA)** — 从头用 Go 重写的 HolmesGPT-API (HAPI) 服务,专为安全优先的操作和分层的提示注入防御设计;该架构支持 v1.4 中的影子智能体审计 ([#601](https://github.com/jordigilh/kubernaut/issues/601))以及 v1.5 中的多智能体共识调查 ([#648](https://github.com/jordigilh/kubernaut/issues/648))([#433](https://github.com/jordigilh/kubernaut/issues/433)) - **Mock LLM 的 Go 重写** — 基于 DAG 的对话引擎,支持声明式 YAML 场景和故障注入,用于弹性测试 - **Kubernaut Operator** — 针对 OperatorHub 上 OpenShift 发布的 OLM 包化操作符 - **跨 Pod TLS** — 所有内部服务之间的加密通信 - **审计事件保留** — 自动删除过期的审计事件 - **基于标签的通知路由** — 将通知路由到信号和 RCA 目标资源的所有者 在 [v1.3 里程碑](https://github.com/jordigilh/kubernaut/milestone/4) 上跟踪进度。 ### v1.4 — 智能集成与 AI 安全(下一阶段) - **Kubernaut 控制台** — 基于 Web 的操作员仪表板,带有聊天 UI、实时修复流和工作流选择。独立的 React 应用(MVP)逐步演进为 Backstage 插件 ([#713](https://github.com/jordigilh/kubernaut/issues/713)) - **自然语言调查** — 操作员可以通过描述问题来触发调查;Kubernaut 提取结构化信号并运行完整的修复流水线 ([#714](https://github.com/jordigilh/kubernaut/issues/714)) - **MCP 交互模式** — 人工操作员可以通过任何兼容 MCP 的聊天界面(IDE 协同编程工具、Slack 机器人、操作控制台或自定义 UI)调查、补充并选择修复工作流 ([#703](https://github.com/jordigilh/kubernaut/issues/703)) - **A2A 协议支持** — 外部智能体可以将修复委托给 Kubernaut,并通过 [Agent-to-Agent](https://a2aproject.github.io/A2A/latest/specification/) 标准跟踪任务生命周期 ([#705](https://github.com/jordigilh/kubernaut/issues/705)) - **API 前端服务** — 统一外部协议层,承载 MCP 和入站 A2A 端点,并共享 CRD 监听以实现实时修复状态流式传输 ([#708](https://github.com/jordigilh/kubernaut/issues/708)) - **调查提示包** — 客户通过 OCI 打包的提示和技能将 SOP 注入调查流水线,支持预处理/后处理钩子和可定制的 RCA 流程 ([#711](https://github.com/jordigilh/kubernaut/issues/711)) - **提示注入防护** — 影子智能体使用专用扫描模型保护智能体流水线,防止提示注入攻击 ([#601](https://github.com/jordigilh/kubernaut/issues/601)) - **操作员工作流/参数覆盖** — 允许操作员在 RAR 审批期间覆盖工作流选择和参数 ![交互式控制台 — 从告警到修复的对话流程](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/c8fe4f5bc9111154.png) 请参阅 [合作伙伴集成演示文稿](docs/presentations/kubernaut-integration-partner-deck.md) 查看完整演示。 在 [v1.4 里程碑](https://github.com/jordigilh/kubernaut/milestone/5) 上跟踪进度。 ### v1.5 — 多智能体共识事后分析(规划中) - **集成 RCA 调查** — 两个独立的 LLM 智能体(不同模型家族)并行执行根因分析;一个整合器验证一致性并对分歧进行交叉询问以提升诊断准确性 在 [v1.5 里程碑](https://github.com/jordigilh/kubernaut/milestone/6) 上跟踪进度。参见 [#648](https://github.com/jordigilh/kubernaut/issues/648) 的设计讨论。 ### v1.6 — 多集群联邦(规划中) - **跨集群联邦修复** — 基于 A2A 的多集群架构,实现集中式信号摄入、跨集群 RCA 调查和联邦工作流执行 ### v1.2 — 运行韧性与安全加固(已发布) - **每个工作流专用 ServiceAccount** — 每个修复工作流运行在独立的 ServiceAccount 上,遵循最小权限 RBAC,取代共享默认账户 - **短期令牌注入** — Ansible 执行器使用 Kubernetes TokenRequest API 和可配置 TTL,而非长期密钥 - **PVC 写入恢复** — 确定性的工作流 ID 和启动时协调可在数据丢失后自动恢复工作流目录 - **更智能的有效性评估** — 基于实际工作流完成情况的部分或完整评估路径,并配置可观测性查询时间范围和并发度 - **CRD 模式加固** — 所有 9 个 CRD 均使用类型化枚举,并在准入阶段进行 OpenAPI 验证 - **哈希捕获降级可见性** — 当规范哈希捕获失败时,提供明确的条件和通知增强 详见 [CHANGELOG.md](CHANGELOG.md) 获取完整列表。 ## 安装 请参阅 [安装指南](https://jordigilh.github.io/kubernaut-docs/latest/getting-started/installation/) 了解先决条件、配置和部署说明。 ## 文档 | 资源 | 链接 | |---|---| | **用户与运维指南** | [jordigilh.github.io/kubernaut-docs](https://jordigilh.github.io/kubernaut-docs/) | | **架构概述** | [架构](https://jordigilh.github.io/kubernaut-docs/latest/getting-started/architecture-overview/) | | **开发者指南** | [docs/DEVELOPER_GUIDE.md](https://github.com/jordigilh/kubernaut/issues/648) | | **必须收集的诊断信息** | [cmd/must-gather/README.md](cmd/must-gather/README.md) | ## 相关仓库 | 仓库 | 描述 | |---|---| | [kubernaut-docs](https://github.com/jordigilh/kubernaut-docs) | 文档网站(MkDocs Material) | | [kubernaut-demo-scenarios](https://github.com/jordigilh/kubernaut-demo-scenarios) | 演示场景、脚本和录制 | ## 开发 ``` make build-all # Build all services make test-tier-unit # Run unit tests make test-all-gateway # Run all test tiers for a service ``` 我们使用 **Ginkgo/Gomega BDD** 进行测试,并遵循 TDD 工作流。请参阅 [开发者指南](docs/DEVELOPER_GUIDE.md) 了解环境设置、构建目标和测试命令。 ## 许可证 Apache License 2.0 — 参见 [LICENSE](LICENSE)。 ## 问题与讨论 **问题**:[GitHub Issues](https://github.com/jordigilh/kubernaut/issues) · **讨论**:[GitHub Discussions](https://github.com/jordigilh/kubernaut/discussions) **Kubernaut** — 从告警到修复,智能地进行。
标签:AIOps, API集成, CI/CD 集成, client-go, EVTX分析, Go 语言, Java RMI, K8s 告警, LLM 代理, OPA 策略, RCA, 可观测性, 子域名突变, 审批网关, 审计追踪, 工作流编排, 开源平台, 弹性伸缩, 故障自愈, 日志审计, 智能运维, 根因分析, 模块化设计, 系统提示词, 自动化修复, 自动化运维, 自定义请求头, 闭环治理, 靶机