Provides multi-cluster Kubernetes management and operations using MCP, featuring a management interface, logging, and nearly 50 built-in tools covering common DevOps and development scenarios. Supports both standard and CRD resources.
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
k8s-gpt
功能,实现中文展现,为管理k8s提供智能化支持。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")
--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仓库之后,拉起体验。
从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"
如果设置参数后,依然没有效果,请尝试使用./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 | 监听的端口号 |
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
注意:环境变量会被启动参数覆盖。
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的展示效果
微信(大罗马的太阳) 搜索ID:daluomadetaiyang,备注k8m。
Location services, directions, and place details
The only platform you need to get paid - all payments in one place, invoicing and accounting reconciliations with Adfin.
Navigate your Aiven projects and interact with the PostgreSQL®, Apache Kafka®, ClickHouse® and OpenSearch® services
Marketing insights and audience analysis from Audiense reports, covering demographic, cultural, influencer, and content engagement analysis.
Query Amazon Bedrock Knowledge Bases using natural language to retrieve relevant information from your data sources.
Get prescriptive CDK advice, explain CDK Nag rules, check suppressions, generate Bedrock Agent schemas, and discover AWS Solutions Constructs patterns.
Core AWS MCP server providing prompt understanding and server management capabilities.
Analyze CDK projects to identify AWS services used and get pricing information from AWS pricing webpages and API.
Fetch, convert, and search AWS documentation pages, with recommendations for related content.
Generate images using Amazon Nova Canvas with text prompts and color guidance.