解锁Kubernetes高效管理神器——k8m,让集群运维更简单
如果你是一名开发者或运维工程师,正在为 Kubernetes 集群的复杂管理而头疼,那么今天我要给你安利一款超好用的神器——k8m!这是一款轻量级、AI 驱动的 Mini Kubernetes AI Dashboard,专为简化集群管理而生,功能强大又易上手,堪称 Kubernetes 管理界的“效率担当”!
k8m 是什么?
k8m 是一款跨平台的 Kubernetes 管理工具,集成了大模型、AI 智能体和 MCP(Model Context Protocol)支持,旨在通过智能化和轻量化的设计,让开发者与运维人员轻松驾驭 Kubernetes 集群。它的核心理念是 “AI 驱动,轻便高效,化繁为简”,不仅功能全面,还支持单文件部署,跨 Linux、macOS、Windows 等多平台,真正做到开箱即用!
k8m 的硬核功能,一次性 Get!
k8m 的亮点多到数不过来,这里为你精选几个“真香”功能,让你感受它的强大:
AI 驱动,智能管理
新手真的很适合本地学习,简单又快捷
- 划词解释:不认识 Kubernetes 术语?选中单词,AI 秒速给出解释!
- YAML 翻译:复杂的 YAML 文件?k8m 自动解析并翻译字段含义,省去查文档的烦恼
- 日志诊断:日志堆里找问题?AI 帮你快速定位错误并给出解决方案。
- 命令推荐:只需描述需求,k8m 就能生成适合的 kubectl 命令,效率 up up up!
多集群管理,轻松切换
支持多集群统一管理,界面直观,集群切换一键搞定。无论是 Kind、MiniKube 还是生产环境的大集群,k8m 都能无缝接入,管理得井井有条。另外也支持多集群权限管理。支持对用户、用户组进行授权,可按集群授权,包括集群只读、Exec 命令、集群管理员三种权限。对用户组授权后,组内用户均获得相应授权。支持设置命名空间黑白名单
单文件部署,跨平台兼容
- 下载最新版本,运行./k8m,访问 http://127.0.0.1:3618 即可使用,无需复杂配置
- 支持 Linux、macOS、Windows,兼容多种架构(amd64/arm64),还可以通过 Docker 或 Kubernetes 一键部署,灵活到飞起!
Pod 操作神器
- 实时查看 Pod 日志、支持日志下载,甚至直接在 Pod 内执行 Shell 命令
- Pod 文件管理功能让你像操作本地文件一样浏览、编辑、上传、下载 Pod 内的文件,运维效率直接拉满!
Helm 市场支持
一键安装和管理 Helm 应用,快速部署常用工具,省时省力。
事件与异常智能分析
内置 AI 诊断功能,点击事件旁的“AI 解读”按钮,秒速分析异常原因,提供详细修复建议,排查问题 so easy!
开源免费,社区活跃
k8m 遵循 MIT 协议,完全开源,允许自由定制和商用,更新频率高,bug 修复快
k8m 的独特优势
- 轻量高效:后端基于 Golang,前端采用百度 AMIS 框架,资源占用低,响应速度快
- AI 加持:内置 Qwen2.5-Coder-7B 模型,支持私有化大模型接入(如 ChatGPT、Ollama),智能化管理更贴合需求
- 用户友好:直观的 UI 设计,即使是 Kubernetes 新手也能快速上手
- 多场景适用:从个人学习到企业级运维,k8m 都能完美适配。
如何快速上手 k8m?
下载与运行
从 GitHub 下载最新版本:https://github.com/weibaohui/k8m
运行命令:./k8m,然后访问 http://127.0.0.1:3618
想用 Docker?直接用 docker-compose 启动,配置文件参考 GitHub 文档
k8s 部署完整指南
---
apiVersion: v1
kind: Namespace
metadata:
name: k8m
---
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
app: k8m
name: k8m
namespace: k8m
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
labels:
app: k8m
name: k8m
namespace: k8m
rules:
- verbs:
- "*"
apiGroups:
- "*"
resources:
- "*"
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
labels:
app: k8m
name: k8m
rules:
- verbs:
- "*"
apiGroups:
- "*"
resources:
- "*"
- verbs:
- "*"
nonResourceURLs:
- "*"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
labels:
app: k8m
name: k8m
namespace: k8m
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: k8m
subjects:
- kind: ServiceAccount
name: k8m
namespace: k8m
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: k8m
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: k8m
subjects:
- kind: ServiceAccount
name: k8m
namespace: k8m
---
apiVersion: v1
kind: Service
metadata:
name: k8m
namespace: k8m
labels:
app: k8m
spec:
ports:
- name: http-k8m
protocol: TCP
port: 3618
targetPort: 3618
selector:
app: k8m
type: ClusterIP
# type: LoadBalancer
# loadBalancerClass: tailscale
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: k8m-pvc
namespace: k8m
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi
---
apiVersion: apps.kruise.io/v1alpha1
kind: CloneSet
metadata:
name: k8m
namespace: k8m
labels:
app: k8m
spec:
replicas: 1
selector:
matchLabels:
app: k8m
template:
metadata:
labels:
app: k8m
spec:
containers:
- name: k8m
# image: docker.io/weibh/k8m:v0.0.130
# image: ghcr.io/weibaohui/k8m:v0.0.130
image: registry.cn-hangzhou.aliyuncs.com/minik8m/k8m:v0.0.130
env:
# 是否开启debug模式
- name: DEBUG
value: "false"
# log输出日志级别,同klog用法
- name: LOG_V
value: "2"
# 监听的端口号
- name: PORT
value: "3618"
# 开启AI功能,默认开启
- name: ENABLE_AI
value: "true"
# # 是否启用临时管理员账户配置,默认关闭
- name: ENABLE_TEMP_ADMIN
value: "false"
# kubectl shell镜像地址
- name: KUBECTL_SHELL_IMAGE
value: "bitnami/kubectl:latest"
# Node shell镜像地址
- name: NODE_SHELL_IMAGE
value: "alpine:latest"
# 持久化数据库地址
- name: SQLITE_PATH
value: "/app/data/k8m.db"
# 启动程序后,是否自动连接发现的集群,默认关闭
- name: CONNECT_CLUSTER
value: "true"
# 是否自动注册纳管宿主集群,默认启用
- name: IN_CLUSTER
value: "true"
# 是否打印配置信息
- name: PRINT_CONFIG
value: "false"
ports:
- containerPort: 3618
protocol: TCP
name: http-k8m
livenessProbe:
httpGet:
path: /healthz
port: 3618
initialDelaySeconds: 30
periodSeconds: 10
imagePullPolicy: IfNotPresent
volumeMounts:
- name: k8m-data
mountPath: /app/data
restartPolicy: Always
serviceAccountName: k8m
volumes:
- name: k8m-data
persistentVolumeClaim:
claimName: k8m-pvc
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
labels:
app: k8m
name: k8m
namespace: k8m
spec:
rules:
- host: k8m.i.ysicing.net
http:
paths:
- backend:
service:
name: k8m
port:
name: http-k8m
path: /
pathType: ImplementationSpecific
将上面的 yaml 保存为 k8m.yaml
kubectl apply -f k8m.yaml
等待服务启动完成后访问ingress 域名,默认用户:k8m,默认密码 k8m
预览
用户管理
登录后第一件事就是新建新的管理员账号,开启 MFA,删除默认管理员(只有删除功能没法禁用)
支持 OIDC,其实就能对接很多 OAUTH 服务了,具体 OIDC 使用说明
配置 AI 模型
内置模型其实也还行,当然也可以自己的模型
AI 智检
划词翻译
效果还是很不错的
想了解更多?可以直接访问 k8m 的 GitHub 仓库:https://github.com/weibaohui/k8m
k8s 资源
简单贴一下,更多细节可以使用 Demo 用户名密码 demo/demo
进阶玩法
通过 MCP 协议集成到 Cursor、Claude Desktop 等工具,解锁更多 AI 交互场景。 目前 k8m 内置 k8s 多集群 MCP 工具 49 种,可组合实现超百种集群操作,可作为 MCP Server 供其他大模型软件使用。轻松实现大模型管理 k8s,可详细记录每一次 MCP 调用,安全使用,无后顾之忧,避免操作越权。
总结
在 Kubernetes 管理工具层出不穷的今天,k8m 凭借轻量、AI 驱动、易用的特点脱颖而出。无论是个人开发者学习 Kubernetes,还是企业团队优化运维流程,k8m 都能为你节省时间、提升效率。更重要的是,它完全免费、开源,背后还有活跃的社区支持,未来发展值得期待!
PS: 作者修复 BUG 速度特别快。
关注我的微信公众号,更多技术吐槽和干货!
