一款轻量级、跨平台的 Mini Kubernetes AI Dashboard,支持大模型+智能体+MCP(支持设置操作权限),集成多集群管理、智能分析、实时异常检测等功能,支持多架构并可单文件部署,助力高效集群管理与运维优化。
k8m 是一款AI驱动的 Mini Kubernetes AI Dashboard 轻量级控制台工具,专为简化集群管理设计。它基于 AMIS 构建,并通过
kom
作为 Kubernetes API 客户端,k8m 内置了
Qwen2.5-Coder-7B,支持deepseek-ai/DeepSeek-R1-Distill-Qwen-7B模型
模型交互能力,同时支持接入您自己的私有化大模型(包括ollama)。
DEMO 用户名密码 demo/demo
k8m 的设计理念是“AI驱动,轻便高效,化繁为简”,它帮助开发者和运维人员快速上手,轻松管理 Kubernetes 集群。
./k8m
命令启动,访问http://127.0.0.1:3618。k8m
k8m
Usage of ./k8m:
--enable-temp-admin 是否启用临时管理员账户配置,默认关闭
--admin-password string 管理员密码,启用临时管理员账户配置后生效
--admin-username string 管理员用户名,启用临时管理员账户配置后生效
--print-config 是否打印配置信息 (default false)
--connect-cluster 启动集群是是否自动连接现有集群,默认关闭
-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")
--image-pull-timeout Node Shell、Kubectl Shell 镜像拉取超时时间。默认为 30 秒
--node-shell-image string NodeShell 镜像。 默认为 alpine:latest,必须包含`nsenter`命令 (default "alpine:latest")
-p, --port int 监听端口 (default 3618)
-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"
environment:
TZ: Asia/Shanghai
volumes:
- ./data:/app/data
启动之后,访问3618
端口,默认用户:k8m
,默认密码k8m
。
如果你想通过在线环境快速拉起体验,可以访问:k8m
从v0.0.8版本开始,将内置GPT,无需配置。 如果您需要使用自己的GPT,请参考以下文档。
如果设置参数后,依然没有效果,请尝试使用./k8m -v 6
获取更多的调试信息。
会输出以下信息,通过查看日志,确认是否启用ChatGPT。
ChatGPT 开启状态:true
ChatGPT 启用 key:sk-hl**********************************************, url:https: // api.siliconflow.cn/v1
ChatGPT 使用环境变量中设置的模型:Qwen/Qwen2.5-7B-Instruc
本项目集成了github.com/sashabaranov/go-openaiSDK。 国内访问推荐使用硅基流动的服务。 登录后,在https://cloud.siliconflow.cn/account/ak创建API_KEY
k8m 支持通过环境变量和命令行参数灵活配置,主要参数如下:
环境变量 | 默认值 | 说明 |
---|---|---|
PORT | 3618 | 监听的端口号 |
KUBECONFIG | ~/.kube/config | kubeconfig 文件路径,会自动扫描识别同级目录下所有的配置文件 |
ANY_SELECT | "true" | 是否开启任意选择划词解释,默认开启 (default true) |
LOGIN_TYPE | "password" | 登录方式(如 password , oauth , token ) |
ENABLE_TEMP_ADMIN | "false" | 是否启用临时管理员账户配置,默认关闭。初次登录、忘记密码时使用 |
ADMIN_USERNAME | 管理员用户名,启用临时管理员账户配置后生效 | |
ADMIN_PASSWORD | 管理员密码,启用临时管理员账户配置后生效 | |
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 镜像地址 |
IMAGE_PULL_TIMEOUT | 30 | Node shell、kubectl shell 镜像拉取超时时间(秒) |
CONNECT_CLUSTER | "false" | 启动程序后,是否自动连接发现的集群,默认关闭 |
PRINT_CONFIG | "false" | 是否打印配置信息 |
详细参数说明和更多配置方式请参考 docs/readme.md。
这些环境变量可以通过在运行应用程序时设置,例如:
export PORT=8080
export GIN_MODE="release"
./k8m
其他参数请参考 docs/readme.md。
brew install kind
kind create cluster --name k8sgpt-demo
kubectl apply -f https://raw.githubusercontent.com/weibaohui/k8m/refs/heads/main/deploy/k8m.yaml
首选建议通过修改环境变量方式进行修改。 例如增加deploy.yaml中的env参数
如果你有任何进一步的问题或需要额外的帮助,请随时与我联系!
zhaomingcheng01:提出了诸多非常高质量的建议,为k8m的易用好用做出了卓越贡献~
La0jin:提供在线资源及维护,极大提升了k8m的展示效果
eryajf:为我们提供了非常好用的github actions,为k8m增加了自动化的发版、构建、发布等功能
微信(大罗马的太阳) 搜索ID:daluomadetaiyang,备注k8m。
No configuration available
This service may require manual configuration, please check the details on the left
Related projects feature coming soon
Will recommend related projects based on sub-categories