k8m

k8m: An AI-powered, lightweight Kubernetes dashboard and MCP Server. Simplifies K8s management with AI assistance and enables large models to operate clusters via 49 built-in MCP Tools.

k8m
k8m能力展示

k8m 解决方案概述

k8m 是一款轻量级的 AI 驱动 Kubernetes Dashboard,同时也是一个功能强大的 MCP Server。它为开发者简化了多集群管理、资源查看和 Pod 操作,并通过内置 AI 模型(如 Qwen)提供 YAML 解释、日志诊断和命令推荐等智能化辅助。其核心亮点在于 MCP 集成:k8m 内置了超过49种精细化的 Kubernetes 操作 Tools,允许外部 AI 模型或 MCP 客户端通过标准的 HTTP/SSE 协议安全地调用这些工具来管理集群。这极大地增强了 AI 在 Kubernetes 运维中的应用能力,解决了开发者安全、便捷地利用 AI 进行集群管理的痛点。特别地,k8m 打通了 K8s 权限与 MCP 调用权限,确保 AI 操作的安全性。作为一个独立的 Go 应用,k8m 可轻松部署并作为 MCP 服务端点(默认端口3619)供其他系统集成。

k8m 核心能力

集成MCP服务器与工具

k8m 不仅仅是一个 Kubernetes Dashboard,它核心价值之一是作为一个功能完备的MCP(模型上下文协议)服务器。这意味着 k8m 可以将复杂的 Kubernetes 操作封装成标准化的 MCP 工具,供外部 AI 模型(MCP 客户端)调用。它内置了多达49种针对 Kubernetes 的精细化管理工具,覆盖了集群、部署(Deployment)、节点(Node)、Pod、动态资源(包括CRD)、YAML 应用、存储(StorageClass)和 Ingress 等多个维度。这些工具允许 AI 模型以结构化的方式请求执行诸如扩缩容 Deployment、获取 Pod 日志、为节点打污点(Taint)、应用 YAML 配置等操作。k8m 通过标准的 HTTP/SSE (Server-Sent Events) 协议在指定端口(默认为 3619)上提供这些服务,使得任何兼容 MCP 协议的 AI 应用(如 Cursor、Claude Desktop、Windsurf 或自定义开发的 AI Agent)都能轻松集成,实现对 Kubernetes 集群的程序化、智能化管理。

  • AI模型增强: 使大型语言模型能够理解并安全地执行 Kubernetes 集群管理任务,将自然语言指令转化为实际的集群操作。
  • 解决开发者问题: 为开发者提供了一个标准接口,让他们的 AI 助手或自动化脚本能够与 Kubernetes 交互,而无需编写复杂的 Kubernetes API 客户端代码或处理认证细节。降低了 AI 应用操作 K8s 的门槛。
  • MCP生态系统优势: 将 k8m 定位为 Kubernetes 领域的专业 MCP Server,丰富了 MCP 生态,提供了连接 AI 与 K8s 的关键桥梁。
  • 使用场景示例: 用户可以在 Cursor 编辑器中,通过连接到 k8m 的 MCP 服务器,用自然语言指示 AI:“将 staging 环境中名为 'user-service' 的 Deployment 副本数扩展到 5 个”。k8m 会接收到对应的 MCP scale_deployment 工具调用请求,并执行该操作。
  • 技术实现: k8m 启动时会监听一个额外的端口(默认为 3619,可通过 --mcp-server-portMCP_SERVER_PORT 环境变量配置)用于 MCP 服务。通信协议采用 SSE,服务端点通常是 http://<k8m_IP>:<MCP_Port>/sse

AI增强Kubernetes运维

k8m 将 AI 能力深度融合到 Kubernetes Dashboard 的日常使用体验中,旨在降低 K8s 的管理复杂性并提升运维效率。它内置了对 Qwen 和 DeepSeek 等大型语言模型的支持,并允许用户接入自定义的私有化大模型。这些 AI 能力体现在多个方面:用户可以在界面上通过“划词解释”快速理解 Kubernetes 资源对象的字段含义或日志中的特定术语;AI 可以自动翻译 YAML 文件中的注释或属性,便于理解非母语编写的配置;对于 kubectl describe 命令输出的大量信息,AI 能进行智能解读,提炼关键状态和潜在问题;在排查故障时,AI 可以对 Pod 日志进行“问诊”,分析错误信息并给出建议;甚至可以根据当前上下文推荐可能需要执行的 kubectl 命令。这种集成使得用户无需离开 k8m 界面,就能获得即时的、上下文相关的 AI 辅助,显著加速了学习、配置、监控和故障排除的过程。

  • AI模型增强: 将 LLM 的理解、解释和推理能力直接应用于 K8s 对象的具体数据和状态上,提供即时智能支持。
  • 解决开发者问题: 降低 Kubernetes 的学习曲线,帮助初学者快速理解概念和配置。为经验丰富的用户提供快速诊断和信息提炼工具,减少查阅文档和手动分析日志的时间。
  • MCP生态系统优势: 虽然这是 k8m 自身的 UI 功能,但它展示了 AI 与 K8s 结合的价值,是 MCP 所赋能的应用场景的一种体现——让 AI 更贴近具体的操作和数据。
  • 使用场景示例: 当运维人员在 k8m 中查看一个 Pod 的日志,发现一条不熟悉的错误信息时,可以直接选中该错误,利用 AI 问诊功能获取该错误的解释、可能原因以及建议的修复命令。
  • 技术实现: 该功能依赖于配置好的 LLM(内置或通过 API Key/URL/Model 参数/环境变量指定的外部模型)。需要启用 AI 功能(默认开启,可通过 --enable-aiENABLE_AI 控制)。前端界面(基于 AMIS)与后端 Go 服务通信,后端再调用配置的 LLM API 实现。

统一多集群与MCP权限

k8m 在提供强大的多集群管理能力的同时,创新性地实现了用户权限与 MCP 调用权限的打通,这是其在安全性和企业级应用方面的一个核心特性。用户可以通过 k8m 的界面管理多个 Kubernetes 集群(自动发现 InCluster 模式或通过扫描 kubeconfig 文件注册),并为不同的用户或用户组分配精细化的权限,例如限制某些用户只能对特定集群进行只读访问,或赋予管理员完全控制权。最关键的是,当外部 AI 工具(MCP Client)通过 k8m 的 MCP Server 发起操作请求时,k8m 会严格遵循发起请求的 k8m 用户会话所拥有的权限。简而言之,“谁使用大模型(通过 k8m 连接),就用谁在 k8m 中被授予的权限来执行 MCP 操作”。这从根本上解决了 AI 模型可能越权操作集群的安全隐患,确保所有通过 AI 发起的 K8s 变更都符合既定的访问控制策略,并且操作可追溯到具体用户。

  • AI模型增强: 为 AI 模型的操作行为提供了安全边界,使其能够在企业环境中被信任地用于管理敏感的 Kubernetes 资源。
  • 解决开发者问题: 消除了企业在采用 AI 工具管理 K8s 时对安全性的主要顾虑。确保了 AI 驱动的操作遵循与人类用户相同的权限模型,简化了合规性和审计流程。
  • MCP生态系统优势: 为 MCP 协议在实际生产环境中的应用提供了一个关键的安全实践范例,增强了 MCP 作为企业级解决方案的可信度。
  • 使用场景示例: 一个团队成员仅拥有对 'dev' 集群的 'Exec' 权限。当他使用连接了 k8m MCP Server 的 AI 助手尝试重启 'prod' 集群的 Deployment 时,k8m 会拒绝执行该 MCP 请求,因为该用户的 k8m 权限不足以操作 'prod' 集群。
  • 技术实现: 该功能依赖 k8m 内建的用户、用户组管理和基于集群的权限控制系统(支持只读、Exec、管理员等级别)。在处理来自 MCP Client 的请求时,k8m 的 MCP Server 会校验与该连接关联的用户会话权限,然后才决定是否执行相应的 Kubernetes API 调用。此核心功能在 v0.0.72 版本中明确上线。
k8m | MCP Hubs