K8m

K8M是一款AI驱动的轻量级Kubernetes管理控制台,集成大模型能力,支持多集群管理和MCP服务,通过可视化界面和智能功能,简化K8s运维流程,适合各类团队降低使用门槛。

120 浏览
2025-12-30 发布

详细介绍

K8M是一款专为Kubernetes设计的智能管理工具,通过内置AI能力和可视化界面,让非专业用户也能轻松管理容器集群。它整合了资源监控、故障诊断、命令执行等核心功能,支持多集群管理,并集成MCP服务,提供AI辅助的智能运维体验。

核心功能

K8M的核心功能包括多集群管理、AI运维助手、MCP工具集成和权限整合。它能够自动扫描kubeconfig目录,统一管理多个Kubernetes集群资源,同时内置49种多集群管理工具,支持组合成上百种操作指令,可作为MCP Server供其他AI系统调用。

AI运维助手是K8M的一大亮点,集成Qwen/DeepSeek大模型,提供日志分析、命令推荐、配置解释等智能功能,帮助用户快速定位和解决问题。此外,MCP操作自动继承用户K8s权限,确保安全合规。

安装方法

K8M支持多种安装方式,包括容器化运行和Kubernetes集群部署。

容器化运行方式

使用Docker运行K8M的命令如下:

docker run -it --rm weibaohui/k8m:latest

支持的参数包括:

  • --help:显示帮助信息
  • @:指定配置文件路径
  • -alsologflag:同时输出到日志文件和控制台
  • -logtostderr:仅输出到标准错误
  • -v :设置日志级别,可选值为 0(无日志)、1(错误)、2(警告)、3(信息)、4(调试)
  • --skip_headers:跳过返回头信息
  • --skip_log_headers:跳过日志头信息
  • -config string:指定配置文件路径

Kubernetes集群运行

使用KinD方式部署K8M的步骤如下:

brew install kind
kind create cluster --name k8sgpt-demo

然后通过以下命令将K8M部署到集群中:

kubectl apply -f https://raw.githubusercontent.com/weibaohui/k8m/refs/heads/main/deploy/k8m.yaml

默认使用NodePort开放服务,访问端口为31999,或自行配置Ingress。

使用方法

K8M的使用非常简单,只需下载单文件程序运行,通过浏览器访问控制台即可。

启动服务

通过命令行启动服务,示例如下:

./k8m --port 8080 --kubeconfig ~/.kube/config

默认监听3618端口,浏览器访问 http://localhost:3618 使用默认账号登录。

常见命令

  • --enable-ai=false:禁用AI功能
  • --chatgpt-url:配置私有化大模型地址

使用示例

K8M提供了多种使用场景,以下是两个典型示例:

日志智能分析

当Pod出现CrashLoopBackOff时,AI自动分析日志给出可能原因,例如:

请分析这段容器日志中的错误原因

AI返回的可能原因包括:

  • 内存不足
  • 配置文件缺失
  • 依赖服务不可用

多集群批量操作

通过MCP工具同时给所有集群的nginx Deployment扩容,例如:

将所有集群的nginx副本数扩展到3个

返回各集群操作结果报告。

配置说明

首选建议通过修改环境变量方式进行配置。例如:

export PORT=8080
export OPENAI_API_KEY="your-api-key"
export GIN_MODE="release"
./k8m

环境变量会被启动参数覆盖。

使用场景

K8M适用于多种场景,包括:

  • 开发测试环境管理
  • 教学演示
  • 中小规模生产集群运维
  • AI辅助故障排查

特别适合需要降低K8s使用门槛的团队。

注意事项

K8M的局限性包括:

  • 大规模集群性能有限(建议管理50个节点以内)
  • 部分高级功能需要配置大模型API
  • ARM架构支持仍在完善中

总结

K8M通过AI驱动和MCP集成,为Kubernetes用户提供了一种轻量、智能、易用的管理方式,特别适合希望降低K8s使用门槛的团队。无论是开发测试、教学演示还是中小规模生产环境,K8M都能提供高效的运维支持。

kubernetes ai-ops mcp-integration cluster-management

相关服务推荐

查看更多