[开源]AI驱动、轻量级、跨平台k8s控制台支持大模型+智能体+MCP

科技一飞开源 2025-04-12 17:16:50

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

k8m 是一款AI驱动的 Mini Kubernetes AI Dashboard 轻量级控制台工具,专为简化集群管理设计。它基于 AMIS 构建,并通过 kom 作为 Kubernetes API 客户端,k8m 内置了 Qwen2.5-Coder-7B,支持deepseek-ai/DeepSeek-R1-Distill-Qwen-7B模型 模型交互能力,同时支持接入您自己的私有化大模型。

一款轻量级、跨平台的 Mini Kubernetes AI Dashboard,支持大模型+智能体+MCP(支持设置操作权限),集成多集群管理、智能分析、实时异常检测等功能,支持多架构并可单文件部署,助力高效集群管理与运维优化。

二、开源协议

使用MIT开源协议

三、界面展示

四、功能概述主要特点迷你化设计:所有功能整合在一个单一的可执行文件中,部署便捷,使用简单。简便易用:友好的用户界面和直观的操作流程,让 Kubernetes 管理更加轻松。高效性能:后端采用 Golang 构建,前端基于百度 AMIS,保证资源利用率高、响应速度快。AI驱动融合:基于ChatGPT实现划词解释、资源指南、YAML属性自动翻译、Describe信息解读、日志AI问诊、运行命令推荐,并集成了 k8s-gpt功能,实现中文展现,为管理k8s提供智能化支持。MCP集成:可视化管理MCP,实现大模型调用Tools,内置k8s多集群MCP工具49种,可组合实现超百种集群操作,可作为MCP Server 供其他大模型软件使用。轻松实现大模型管理k8s。支持mcp.so主流服务。MCP权限打通:多集群管理权限与MCP大模型调用权限打通,一句话概述:谁使用大模型,就用谁的权限执行MCP。安全使用,无后顾之忧,避免操作越权。多集群管理:自动识别集群内部使用InCluster模式,配置kubeconfig路径后自动扫描同级目录下的配置文件,同时注册管理多个集群。Pod 文件管理:支持 Pod 内文件的浏览、编辑、上传、下载、删除,简化日常操作。Pod 运行管理:支持实时查看 Pod 日志,下载日志,并在 Pod 内直接执行 Shell 命令。CRD 管理:可自动发现并管理 CRD 资源,提高工作效率。Helm 市场:支持Helm自由添加仓库,一键安装、卸载、升级 Helm 应用。跨平台支持:兼容 Linux、macOS 和 Windows,并支持 x86、ARM 等多种架构,确保多平台无缝运行。完全开源:开放所有源码,无任何限制,可自由定制和扩展,可商业使用。

k8m 的设计理念是“AI驱动,轻便高效,化繁为简”,它帮助开发者和运维人员快速上手,轻松管理 Kubernetes 集群。

五、技术选型运行下载:下载最新版本。运行:使用 ./k8m 命令启动,访问http://127.0.0.1:3618。参数:Usage of ./k8m: --admin-password string 管理员密码 (default "123456") --admin-username string 管理员用户名 (default "admin") --any-select 是否开启任意选择划词解释,默认开启 (default true) --print-config 是否打印配置信息 (default false) -k, --chatgpt-key string 大模型的自定义API Key (default "sk-xxxxxxx") -m, --chatgpt-model string 大模型的自定义模型名称 (default "Qwen/Qwen2.5-7B-Instruct") -u, --chatgpt-url string 大模型的自定义API URL (default "https://api.siliconflow.cn/v1") -d, --debug 调试模式 --in-cluster 是否自动注册纳管宿主集群,默认启用 --jwt-token-secret string 登录后生成JWT token 使用的Secret (default "your-secret-key") -c, --kubeconfig string kubeconfig文件路径 (default "/root/.kube/config") --kubectl-shell-image string Kubectl Shell 镜像。默认为 bitnami/kubectl:latest,必须包含kubectl命令 (default "bitnami/kubectl:latest") --log-v int klog的日志级别klog.V(2) (default 2) --login-type string 登录方式,password, oauth, token等,default is password (default "password") --node-shell-image string NodeShell 镜像。 默认为 alpine:latest,必须包含`nsenter`命令 (default "alpine:latest") -p, --port int 监听端口 (default 3618) --sqlite-path string sqlite数据库文件路径, (default "./data/k8m.db") -s, --mcp-server-port int MCP Server 监听端口,默认3619 (default 3619) -v, --v Level klog的日志级别 (default 2)

也可以直接通过docker-compose(推荐)启动:

services: k8m: container_name: k8m image: registry.cn-hangzhou.aliyuncs.com/minik8m/k8m restart: always ports: - "3618:3618" - "3619:3619" environment: TZ: Asia/Shanghai volumes: - ./data:/app/data

启动之后,访问3618端口,默认用户:admin,默认密码123456。

如果你想通过在线环境快速拉起体验,可以访问:k8m,FORK仓库之后,拉起体验。

ChatGPT 配置指南内置GPT

从v0.0.8版本开始,将内置GPT,无需配置。 如果您需要使用自己的GPT,请参考以下步骤。

环境变量配置

需要设置环境变量,以启用ChatGPT。

export OPENAI_API_KEY="sk-XXXXX"export OPENAI_API_URL="https://api.siliconflow.cn/v1"export OPENAI_MODEL="Qwen/Qwen2.5-7B-Instruct"ChatGPT 状态调试

如果设置参数后,依然没有效果,请尝试使用./k8m -v 6获取更多的调试信息。 会输出以下信息,通过查看日志,确认是否启用ChatGPT。

ChatGPT 开启状态:trueChatGPT 启用 key:sk-hl**********************************************, url:https: // api.siliconflow.cn/v1ChatGPT 使用环境变量中设置的模型:Qwen/Qwen2.5-7B-InstrucChatGPT 账户

本项目集成了/sashabaranov/go-openaiSDK。 国内访问推荐使用硅基流动的服务。 登录后,创建API_KEY

更多内容请查看 README.md 文档

六、源码地址

访问一飞开源:https://code.exmay.com/

0 阅读:0

科技一飞开源

简介:感谢大家的关注