一、导读
Kubernetes(简称K8s)的普及让开发和运维工作变得更加高效,但它的复杂性却让许多人在使用时面临挑战。从网络配置到故障排查,每一步都需要深入的技术积累。然而,随着人工智能技术的迅猛发展,借助智能工具,我们可以将许多复杂问题简单化。
本文将向您介绍一款将 AI 助手与 Kubernetes 管理相结合的轻量级工具——k8m。它将如何帮助开发者和运维人员高效管理集群资源,优化工作流程,让繁琐的 Kubernetes 操作变得更加轻松快捷?
二、k8m介绍
k8m 是一款集 AI 与 Kubernetes 于一体的轻量级控制台工具,专为简化集群管理设计。基于 AMIS 构建,并通过 kom 作为 Kubernetes API 客户端,k8m 内置了 Qwen2.5-Coder-7B 模型交互能力,同时支持接入您自己的私有化大模型,比如deepseek模型。
三、安装和运行
3.1 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/v1ChatGPT 使用环境变量中设置的模型:Qwen/Qwen2.5-Coder-7B-Instruc
ChatGPT账户
本项目集成了github.com/sashabaranov/go-openaiSDK。 国内访问推荐使用硅基流动的服务。 登录后,在https://cloud.siliconflow.cn/account/ak创建API_KEY
3.2 二进制部署
下载 从 GitHub 获取最新版本。
项目地址:https://github.com/weibaohui/k8m/
运行 在终端中运行以下命令启动服务,并通过浏览器访问:
./k8m
Usage of ./k8m:
--admin-password string 管理员密码 (default "123456")
--admin-username string 管理员用户名 (default "admin")
-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")
-v, --v Level klog的日志级别 (default 2)
3.3 k8s中yaml部署
以下是k8m支持的环境变量设置参数及其作用的表格:
环境变量 | 默认值 | 说明 |
---|---|---|
PORT | 3618 | 监听的端口号 |
KUBECONFIG | ~/.kube/config | kubeconfig 文件路径 |
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 |
LOGIN_TYPE | “password” | 登录方式(如 password, oauth, token) |
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 |
IN_CLUSTER | “true” | 是否自动注册纳管宿主集群,默认启用 |
这些环境变量可以通过在运行应用程序时设置
注意:环境***变量***会被启动参数覆盖。
- 其中模型环境变量需要根据实际情况修改,yaml中的142,144,146行
- yaml中的91行需要改成自己集群的sc名称,主要是为了做持久化数据用
---
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:
-"get"
-"list"
-"watch"
-"pods/exec"
apiGroups:
-"*"
resources:
-"*"
-verbs:
-"get"
-"list"
-"watch"
-"pods/exec"
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:PersistentVolumeClaim
metadata:
name:k8m-pv-claim
namespace:k8m
labels:
app.kubernetes.io/name:k8m
spec:
storageClassName:nfs-sc##这里需要改成自己集群的sc名称
accessModes:
-ReadWriteMany
resources:
requests:
storage:10Gi
---
apiVersion:v1
kind:Service
metadata:
name:k8m-nodeport
namespace:k8m
labels:
app:k8m
spec:
ports:
-name:http-k8m
protocol:TCP
port:3618
targetPort:3618
nodePort:31999
selector:
app:k8m
type:NodePort
---
apiVersion:apps/v1
kind:Deployment
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:registry.cn-hangzhou.aliyuncs.com/minik8m/k8m:0.0.66
env:
-name:DEBUG
value:"false"
-name:LOG_V
value:"6"
-name:OPENAI_API_KEY
value:"sk-xxxx"
-name:OPENAI_API_URL
value:"http://xxxxxxx/deepseek-14b"
-name:OPENAI_MODEL
value:"deepseek-14b"
-name:KUBECTL_SHELL_IMAGE
value:bitnami/kubectl:latest
-name:NODE_SHELL_IMAGE
value:alpine:latest
-name:SQLITE_PATH
value:/app/data/k8m.db
-name:IN_CLUSTER
value:"false"
ports:
-containerPort:3618
protocol:TCP
name:http-k8m
imagePullPolicy:IfNotPresent
volumeMounts:
-name:kubepi-persistent-storage
mountPath:/app/data
restartPolicy:Always
serviceAccountName:k8m
volumes:
-name:kubepi-persistent-storage
persistentVolumeClaim:
claimName:k8m-pv-claim
四、常用功能介绍
4.1 Yaml属性自动翻译
k8m 提供集成的 YAML 浏览、编辑和文档查看功能,支持自动翻译 YAML 属性。无论是查找字段含义还是确认配置细节,您都无需再费时费力地搜索,极大提高了工作效率。
### 4.2 Event信息AI问诊
在 Event 页面,k8m 内置了 AI 问诊功能,可智能分析异常事件,并提供详细的解释。点击事件前的“AI大脑”按钮,稍等片刻即可查看诊断结果,快速定位问题原因。
点击Event信息前面的“AI大脑”
稍等片刻,AI返回解读信息
4.3 错误日志AI问诊
日志分析是定位问题的重要环节,但面对大量报错信息,如何高效排查?k8m 支持 AI 日志诊断,帮助快速识别关键错误并生成解决建议。只需选中相关日志,点击 AI 问诊按钮,即可获得诊断报告。
当服务运行不正常的时候,可能第一件事就是来看日志。但是往往报错的日志一大堆,难以抓住头绪,这时候,要是AI能帮忙看看就好了~~~
首先进入Pod日志界面
点击查看日志
选中错误日志,在前面打勾,点击右面的AI问诊按钮
稍等片刻,AI诊断报告呈上,有没有感觉很酷~
4.4 AI智检
智检功能主要是引用了k8s_gpt工具中预置的规则使用大模型,进行集群的智能巡检,目前平台支持集群,节点,部署,有状态集,容器组,svc,ingress等多个资源对象的巡检
4.5 运行命令自动生成
日常运维中,Pod 内命令操作不可避免。借助 AI,您只需输入需求描述,k8m 即可自动生成合适的命令供参考,减少查找时间,提高效率。
首先进入POD Shell中
在命令对话框,尝试输入一个段描述,比如查看存储容量,那么AI会自动返回df-h回来,如果你描述的信息越多,那么AI返回的命令也会更精确。当然也可以参考AI的命令,你自己再加工一下~
4.6 MCP工具支持
- v0.0.66 更新,增加MCP支持
4.7 集群纳管
k8m支持多集群管理,一个dashboard可以纳管多个集群,在界面进行切换,拿到快速访问集群资源的能力,目前纳管只支持kubeconfig文件来进行纳管,需要网络可通
img
可以在多集群菜单中点击切换,也可以在右上角切换集群
4.8 用户权限管理
目前k8m中支持添加用户和用户组,给用户组赋予权限之后,整个用户组中的用户都有了对应的角色权限,现阶段权限是全局所有集群的,后续会细化到集群和命名空间,一共三种角色权限
集群管理员: 可以管理和操作所有集群资源,包括创建、修改、删除等操作。
集群只读: 仅可查看集群资源信息,无法进行修改操作。
平台管理员: 可以管理平台配置、用户权限等系统级设置。
五、总结
k8m 作为一款结合 AI 和 Kubernetes 的工具,展现了其简洁高效的设计理念。从便捷的文件管理、日志诊断到智能化的 YAML 翻译和故障排查,k8m 凭借其直观的界面和 AI 支持,极大提升了 Kubernetes 的易用性和可操作性。
无论是需要快速查看集群状态,还是解决复杂的配置和运行问题,k8m 都能为开发者和运维团队提供可靠支持。同时,它兼容本地化大模型部署,有效解决了数据安全和访问效率问题,为企业提供更高的自主性。
我的DeepSeek部署资料已打包好(自取↓)
https://pan.quark.cn/s/7e0fa45596e4
但如果你想知道这个工具为什么能“听懂人话”、写出代码 甚至预测市场趋势——答案就藏在大模型技术里!
❗️为什么你必须了解大模型?
1️⃣ 薪资爆炸:应届大模型工程师年薪40万起步,懂“Prompt调教”的带货主播收入翻3倍
2️⃣ 行业重构:金融、医疗、教育正在被AI重塑,不用大模型的公司3年内必淘汰
3️⃣ 零门槛上车:90%的进阶技巧不需写代码!会说话就能指挥AI
(附深度求索BOSS招聘信息)
⚠️警惕:当同事用DeepSeek 3小时干完你3天的工作时,淘汰倒计时就开始了。
那么,如何系统的去学习大模型LLM?
作为一名从业五年的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?老师啊,我自学没有方向怎么办?老师,这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!当然这些问题啊,也不是三言两语啊就能讲明白的。
所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。
篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~
👉大模型学习指南+路线汇总👈
我们这套资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。
👉①.基础篇👈
基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。
👉②.进阶篇👈
接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。
👉③.实战篇👈
实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。
👉④.福利篇👈
最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费
】
相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!