详细介绍
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都能提供高效的运维支持。