I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

K8M
一款轻量级、跨平台的 Mini Kubernetes AI Tableau de bord , 支持大模型 + 智能体 + MCP (支持设置操作权限) , 集成多集群管理、智能分析、实时异常检测等功能 , 支持多架构并可单文件部署 , 助力高效集群管理与运维优化。
3 years
Works with Finder
5
Github Watches
37
Github Forks
196
Github Stars
K8M
k8m 是一款AI驱动的 Mini Kubernetes AI Dashboard 轻量级控制台工具,专为简化集群管理设计。它基于 AMIS 构建,并通过
kom
作为 Kubernetes API 客户端,k8m 内置了
Qwen2.5-Coder-7B,支持deepseek-ai/DeepSeek-R1-Distill-Qwen-7B模型
模型交互能力,同时支持接入您自己的私有化大模型。
演示DEMO
DEMO 用户名密码 demo/demo
文档
主要特点
- 迷你化设计:所有功能整合在一个单一的可执行文件中,部署便捷,使用简单。
- 简便易用:友好的用户界面和直观的操作流程,让 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路径后自动扫描同级目录下的配置文件,同时注册管理多个集群。
- 多集群权限管理:支持对用户、用户组进行授权,可按集群授权,包括集群只读、Exec命令、集群管理员三种权限。对用户组授权后,组内用户均获得相应授权。
- Pod 文件管理:支持 Pod 内文件的浏览、编辑、上传、下载、删除,简化日常操作。
- Pod 运行管理:支持实时查看 Pod 日志,下载日志,并在 Pod 内直接执行 Shell 命令。
- CRD 管理:可自动发现并管理 CRD 资源,提高工作效率。
- Helm 市场:支持Helm自由添加仓库,一键安装、卸载、升级 Helm 应用。
- 跨平台支持:兼容 Linux、macOS 和 Windows,并支持 x86、ARM 等多种架构,确保多平台无缝运行。
- 完全开源:开放所有源码,无任何限制,可自由定制和扩展,可商业使用。
k8m 的设计理念是“AI驱动,轻便高效,化繁为简”,它帮助开发者和运维人员快速上手,轻松管理 Kubernetes 集群。
运行
- 下载:从 GitHub 下载最新版本。
-
运行:使用
./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")
--connect-cluster 启动集群是是否自动连接现有集群,默认关闭
-d, --debug 调试模式
--enable-ai 是否启用AI功能,默认开启 (default true)
--enable-temp-admin 是否启用临时管理员账户配置,默认关闭
--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)
--use-builtin-model 是否使用内置大模型参数,默认开启 (default true)
-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
ENABLE_TEMP_ADMIN: true
ADMIN_USERNAME: admin
ADMIN_PASSWORD: 123456
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 开启状态:true
ChatGPT 启用 key:sk-hl**********************************************, url:https: // api.siliconflow.cn/v1
ChatGPT 使用环境变量中设置的模型:Qwen/Qwen2.5-7B-Instruc
ChatGPT 账户
本项目集成了github.com/sashabaranov/go-openaiSDK。 国内访问推荐使用硅基流动的服务。 登录后,在https://cloud.siliconflow.cn/account/ak创建API_KEY
k8m 支持环境变量设置
以下是k8m支持的环境变量设置参数及其作用的表格:
环境变量 | 默认值 | 说明 |
---|---|---|
PORT |
3618 |
监听的端口号 |
MCP_SERVER_PORT |
3619 |
内置多集群k8s MCP Server监听的端口号 |
KUBECONFIG |
~/.kube/config |
kubeconfig 文件路径 ,会自动扫描识别同级目录下所有的配置文件 |
ENABLE_AI |
"true" |
开启AI功能,默认开启 |
USE_BUILTIN_MODEL |
"true" |
使用内置大模型参数,默认开启 |
OPENAI_API_KEY |
"" |
自定义 大模型的 API Key |
OPENAI_API_URL |
"" |
自定义 大模型的 API URL |
OPENAI_MODEL |
Qwen/Qwen2.5-7B-Instruct |
自定义 大模型的默认模型名称,如需DeepSeek,请设置为deepseek-ai/DeepSeek-R1-Distill-Qwen-7B |
ANY_SELECT |
"true" |
是否开启任意选择划词解释,默认开启 (default true) |
LOGIN_TYPE |
"password" |
登录方式(如 password , oauth , token ) |
ENABLE_TEMP_ADMIN |
"false" |
是否启用临时管理员账户配置,默认关闭。初次登录、忘记密码时使用 |
ADMIN_USERNAME |
"admin" |
管理员用户名 ,启用临时管理员账户配置后生效 |
ADMIN_PASSWORD |
"123456" |
管理员密码,启用临时管理员账户配置后生效 |
DEBUG |
"false" |
是否开启 debug 模式 |
LOG_V |
"2" |
log输出日志,同klog用法 |
JWT_TOKEN_SECRET |
"your-secret-key" |
用于 JWT Token 生成的密钥 |
KUBECTL_SHELL_IMAGE |
bitnami/kubectl:latest |
kubectl shell 镜像地址 |
NODE_SHELL_IMAGE |
alpine:latest |
Node shell 镜像地址 |
SQLITE_PATH |
./data/k8m.db |
持久化数据库地址,默认sqlite数据库,文件地址./data/k8m.db |
CONNECT_CLUSTER |
"false" |
启动程序后,是否自动连接发现的集群,默认关闭 |
IN_CLUSTER |
"true" |
是否自动注册纳管宿主集群,默认启用 |
PRINT_CONFIG |
"false" |
是否打印配置信息 |
这些环境变量可以通过在运行应用程序时设置,例如:
export PORT=8080
export OPENAI_API_KEY="your-api-key"
export GIN_MODE="release"
./k8m
注意:环境变量会被启动参数覆盖。
容器化k8s集群方式运行
KinD方式
- 创建 KinD Kubernetes 集群
brew install kind
- 创建新的 Kubernetes 集群:
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 http://NodePortIP:31999
修改配置
首选建议通过修改环境变量方式进行修改。 例如增加deploy.yaml中的env参数
内置MCP Server 使用说明
服务端点,可开发供其他AI工具使用
MCP程序使用3619端口。NodePort使用31919端口。 如果二进制方式直接启动,那么访问地址为http://ip:3619/sse 如果集群方式启动,则访问地址为则访问地址为http://nodeIP:31919/sse
集群管理范围
内置MCP Server 管理范围与k8m 纳管的集群范围一致。 界面内已连接的集群均可使用。
内置MCP Server 配置说明
MCP工具列表(49种)
类别 | 方法 | 描述 |
---|---|---|
集群管理(1) | list_clusters |
列出所有已注册的Kubernetes集群 |
部署管理(12) | scale_deployment |
扩缩容Deployment |
restart_deployment |
重启Deployment | |
stop_deployment |
停止Deployment | |
restore_deployment |
恢复Deployment | |
update_tag_deployment |
更新Deployment镜像标签 | |
rollout_history_deployment |
查询Deployment升级历史 | |
rollout_undo_deployment |
回滚Deployment | |
rollout_pause_deployment |
暂停Deployment升级 | |
rollout_resume_deployment |
恢复Deployment升级 | |
rollout_status_deployment |
查询Deployment升级状态 | |
hpa_list_deployment |
查询Deployment的HPA列表 | |
list_deployment_pods |
获取Deployment管理的Pod列表 | |
动态资源管理(含CRD,8) | get_k8s_resource |
获取k8s资源 |
describe_k8s_resource |
描述k8s资源 | |
delete_k8s_resource |
删除k8s资源 | |
list_k8s_resource |
列表形式获取k8s资源 | |
list_k8s_event |
列表形式获取k8s事件 | |
patch_k8s_resource |
更新k8s资源,以JSON Patch方式更新 | |
label_k8s_resource |
为k8s资源添加或删除标签 | |
annotate_k8s_resource |
为k8s资源添加或删除注解 | |
节点管理(8) | taint_node |
为节点添加污点 |
untaint_node |
为节点移除污点 | |
cordon_node |
为节点设置Cordon | |
uncordon_node |
为节点取消Cordon | |
drain_node |
为节点执行Drain | |
get_node_resource_usage |
查询节点的资源使用情况 | |
get_node_ip_usage |
查询节点上Pod IP资源使用情况 | |
get_node_pod_count |
查询节点上的Pod数量 | |
Pod 管理(14) | list_pod_files |
列出Pod文件 |
list_all_pod_files |
列出Pod所有文件 | |
delete_pod_file |
删除Pod文件 | |
upload_file_to_pod |
上传文件到Pod内,支持传递文本内容,存储为Pod内文件 | |
get_pod_logs |
获取Pod日志 | |
run_command_in_pod |
在Pod中执行命令 | |
get_pod_linked_service |
获取Pod关联的Service | |
get_pod_linked_ingress |
获取Pod关联的Ingress | |
get_pod_linked_endpoints |
获取Pod关联的Endpoints | |
get_pod_linked_pvc |
获取Pod关联的PVC | |
get_pod_linked_pv |
获取Pod关联的PV | |
get_pod_linked_env |
通过在pod内运行env命令获取Pod运行时环境变量 | |
get_pod_linked_env_from_yaml |
通过Pod yaml定义获取Pod运行时环境变量 | |
get_pod_resource_usage |
获取Pod的资源使用情况,包括CPU和内存的请求值、限制值、可分配值和使用比例 | |
YAML管理(2) | apply_yaml |
应用YAML资源 |
delete_yaml |
删除YAML资源 | |
存储管理(3) | set_default_storageclass |
设置默认StorageClass |
get_storageclass_pvc_count |
获取StorageClass下的PVC数量 | |
get_storageclass_pv_count |
获取StorageClass下的PV数量 | |
Ingress管理(1) | set_default_ingressclass |
设置默认IngressClass |
AI工具集成
通用配置文件
适合MCP工具集成,如Cursor、Claude Desktop、Windsurf等,此外也可以使用这些软件的UI操作界面进行添加。
{
"mcpServers": {
"kom": {
"type": "sse",
"url": "http://IP:9096/sse"
}
}
}
Cursor
- 进入Cursor设置界面
- 找到扩展服务配置选项
- 添加MCP Server的URL(例如:http://localhost:3619/sse)
Windsurf
- 访问配置中心
- 设置API服务器地址
MCP常见问题
- 确保MCP Server正常运行且端口可访问
- 检查网络连接是否正常
- 验证SSE连接是否成功建立
- 查看工具日志以排查连接问题,MCP执行失败会有报错记录。
HELP & SUPPORT
如果你有任何进一步的问题或需要额外的帮助,请随时与我联系!
特别鸣谢
zhaomingcheng01:提出了诸多非常高质量的建议,为k8m的易用好用做出了卓越贡献~
La0jin:提供在线资源及维护,极大提升了k8m的展示效果
联系我
微信(大罗马的太阳) 搜索ID:daluomadetaiyang,备注k8m。
微信群
相关推荐
Confidential guide on numerology and astrology, based of GG33 Public information
Advanced software engineer GPT that excels through nailing the basics.
Japanese education, creating tailored learning experiences.
Découvrez la collection la plus complète et la plus à jour de serveurs MCP sur le marché. Ce référentiel sert de centre centralisé, offrant un vaste catalogue de serveurs MCP open-source et propriétaires, avec des fonctionnalités, des liens de documentation et des contributeurs.
Manipulation basée sur Micropython I2C de l'exposition GPIO de la série MCP, dérivée d'Adafruit_MCP230XX
Une passerelle API unifiée pour intégrer plusieurs API d'explorateur de blockchain de type étherscan avec la prise en charge du protocole de contexte modèle (MCP) pour les assistants d'IA.
Miroir dehttps: //github.com/suhail-ak-s/mcp-typeseense-server
本项目是一个钉钉 MCP (Protocole de connecteur de message) 服务 , 提供了与钉钉企业应用交互的 API 接口。项目基于 Go 语言开发 , 支持员工信息查询和消息发送等功能。
La communauté du curseur et de la planche à voile, recherchez des règles et des MCP
Reviews

user_scdYQtqc
I've been using mcp_server_local_files by psahdev32, and it has been a game-changer for managing my local files. The interface is intuitive, and the server setup is straightforward. The performance is robust, making file handling seamless and efficient. I highly recommend this product to anyone looking for a reliable local file server solution. Check it out at https://mcp.so/server/mcp_server_local_files/psahdev32.