1. 项目简介
k8m 是一款轻量级、跨平台的 Mini Kubernetes AI Dashboard,由 weibaohui 开发并开源。它集成了大模型、智能体和 MCP(支持设置操作权限)功能,为 Kubernetes 集群管理提供了智能化的解决方案。
核心特点:
轻量级、跨平台:单文件部署,支持多种操作系统和架构 支持大模型+智能体+MCP:集成 AI 能力,提供智能运维支持 多集群管理:统一管理多个 Kubernetes 集群 智能分析:自动分析集群状态,提供优化建议 实时异常检测:及时发现并预警集群异常 多架构支持:支持 x86_64、ARM 等多种架构 单文件部署:简化部署流程,降低使用门槛
2. 主要功能
2.1 多集群管理
按需选择多集群:灵活切换不同集群进行管理 支持集群切换:一键切换不同集群视图 支持自定义集群名称:便于识别和管理 权限按集群隔离:确保集群间操作安全 集群状态监控:实时显示集群健康状态 资源使用统计:展示集群整体资源使用情况
2.2 AI 功能
内置 AI 对话功能:提供智能问答支持 支持划词解释:选中文本即可获取 AI 解释 文档字段级 AI 示例:提供具体字段的使用示例 资源使用指南:智能推荐最佳实践 智能分析建议:自动分析并提供优化建议 故障诊断:AI 辅助排查问题 配置建议:智能推荐配置优化方案
2.3 资源管理
节点资源用量监控:实时显示节点资源使用情况 Pod 资源用量展示:详细展示 Pod 资源分配 CPU/内存设置可视化:直观展示资源限制 标签搜索(精确/模糊):灵活的资源查找方式 关联资源展示:展示资源间的关联关系 资源创建向导:引导式创建资源 批量操作支持:支持批量管理资源
2.4 运维工具
kubectl shell:Web 端执行 kubectl 命令 节点终端 (NodeShell):直接访问节点 Helm 功能:管理 Helm 应用 日志查看(支持颜色显示):增强日志可读性 事件查询:查看集群事件 探针管理:配置健康检查 性能分析:提供性能分析工具 配置管理:统一管理配置
2.5 安全特性
2FA 两步验证:增强账号安全 权限管理:细粒度的权限控制 MCP 调用权限控制:控制 AI 调用权限 InCluster 运行模式:支持集群内运行 审计日志:记录操作历史 访问控制:IP 白名单控制 会话管理:管理用户会话
3. 最新版本特性 (v0.0.80)
AI 功能增强
新增 AI 对话窗口:优化交互体验 支持划词翻译:多语言支持 文档界面优化:提升可读性 AI 分析能力提升:更准确的建议 智能诊断增强:更全面的问题分析 资源管理改进
新增资源创建页面:简化创建流程 副本数调整功能:动态调整副本数 资源用量显示优化:更直观的展示 批量操作优化:提升批量操作效率 资源关联视图:展示资源关系 安全增强
MCP 多集群权限提示:明确权限范围 未授权用户访问控制:防止未授权访问 权限管理优化:更灵活的权限配置 安全审计增强:更详细的审计日志 会话安全提升:增强会话安全性
4. 部署方式
4.1 单文件部署
# 下载最新版本
wget https://github.com/weibaohui/k8m/releases/download/v0.0.80/k8m
# 添加执行权限
chmod +x k8m
# 运行(支持多种配置方式)
./k8m --config /path/to/config.yaml # 指定配置文件
./k8m --port 8080 # 指定端口
./k8m --incluster # 集群内运行模式
4.2 Docker 部署
# 基本部署
docker run -d \
-p 8080:8080 \
-v /path/to/config:/app/config \
weibaohui/k8m:latest
# 带环境变量部署
docker run -d \
-p 8080:8080 \
-e ENABLE_2FA=true \
-e ADMIN_PASSWORD=your_password \
-v /path/to/config:/app/config \
weibaohui/k8m:latest
4.3 Kubernetes 部署
# 使用官方部署文件
kubectl apply -f https://raw.githubusercontent.com/weibaohui/k8m/main/deploy/k8s.yaml
# 自定义部署
kubectl apply -f custom-deployment.yaml
5. 配置说明
5.1 基本配置
# config.yaml
server:
port: 8080 # 服务端口
auth:
enable_2fa: true # 启用两步验证
admin_password: "your_password" # 管理员密码
session_timeout: 3600 # 会话超时时间(秒)
k8s:
clusters:
- name: "cluster1" # 集群名称
kubeconfig: "/path/to/kubeconfig" # kubeconfig 路径
context: "context1" # 上下文名称
- name: "cluster2"
kubeconfig: "/path/to/kubeconfig2"
context: "context2"
ai:
model: "gpt-3.5-turbo" # AI 模型
api_key: "your_api_key" # API 密钥
temperature: 0.7 # 温度参数
max_tokens: 2000 # 最大 token 数
logging:
level: "info" # 日志级别
format: "json" # 日志格式
output: "/var/log/k8m.log" # 日志输出路径
5.2 环境变量
# 基础配置
ENABLE_2FA=true # 启用两步验证
INCLUSTER=false # 是否在集群内运行
ADMIN_PASSWORD=your_password # 管理员密码
LOG_LEVEL=info # 日志级别
# 网络配置
SERVER_PORT=8080 # 服务端口
SERVER_HOST=0.0.0.0 # 监听地址
SSL_ENABLED=false # 是否启用 SSL
# AI 配置
AI_MODEL=gpt-3.5-turbo # AI 模型
AI_API_KEY=your_api_key # API 密钥
AI_TEMPERATURE=0.7 # 温度参数
6. 使用指南
6.1 登录系统
访问 http://localhost:8080
使用默认账号密码登录 默认用户名:admin 默认密码:admin 首次登录建议: 修改默认密码 启用 2FA 配置个人信息
6.2 集群管理
添加集群配置: 通过 UI 添加 通过配置文件添加 导入现有 kubeconfig 选择要管理的集群: 查看集群列表 切换集群视图 检查集群状态 查看集群资源状态: 节点状态 Pod 状态 资源使用情况 事件监控
6.3 AI 功能使用
在任意页面选中文本: 配置说明 错误信息 资源定义 点击 AI 解释按钮: 获取解释 查看示例 获取建议 查看 AI 分析结果: 问题诊断 优化建议 最佳实践
6.4 资源操作
查看资源列表: 按类型筛选 按命名空间筛选 按标签筛选 创建/编辑资源: 使用表单创建 使用 YAML 编辑 导入现有配置 查看资源详情: 基本信息 关联资源 事件历史 执行运维操作: 扩缩容 重启 更新配置 查看日志
7. 最佳实践
7.1 安全建议
启用 2FA 认证: 使用 Google Authenticator 定期更新验证码 备份恢复码 定期更新密码: 使用强密码 定期更换 避免重复使用 合理设置权限: 最小权限原则 角色分离 定期审计 启用审计日志: 记录关键操作 定期检查 异常告警
7.2 性能优化
合理配置资源限制: CPU 限制 内存限制 存储限制 使用缓存功能: 启用查询缓存 配置缓存策略 定期清理缓存 优化查询条件: 使用索引 避免全表扫描 优化查询语句 定期清理历史数据: 设置保留策略 自动清理 备份重要数据
7.3 运维建议
定期备份配置: 配置文件 数据库 重要数据 监控系统状态: 资源使用 性能指标 错误日志 及时更新版本: 关注更新公告 测试新版本 制定升级计划 关注异常告警: 设置告警阈值 配置通知方式 及时处理告警
8. 常见问题
Q1: 如何重置管理员密码?
A: 可以通过以下方式重置:
环境变量:ADMIN_PASSWORD=new_password 配置文件:修改 admin_password 字段 命令行参数:--admin-password=new_password 数据库操作:更新用户表密码字段
Q2: 如何添加新的集群?
A: 添加方式包括:
配置文件添加: k8s:
clusters:
- name: "new-cluster"
kubeconfig: "/path/to/kubeconfig"UI 界面添加: 进入集群管理页面 点击添加集群 填写集群信息 上传 kubeconfig 导入现有配置: 准备 kubeconfig 文件 使用导入功能 选择上下文
Q3: AI 功能需要额外配置吗?
A: 需要配置以下内容:
AI 模型选择: GPT-3.5 GPT-4 其他兼容模型 API Key 配置: 获取 API Key 配置到系统 测试连接 其他参数: 温度参数 最大 token 数 超时设置
Q4: 如何启用 2FA?
A: 启用步骤:
配置文件设置: server:
auth:
enable_2fa: true环境变量设置: ENABLE_2FA=true
用户配置: 下载验证器应用 扫描二维码 保存恢复码 登录验证: 输入用户名密码 输入验证码 完成登录
9. 社区支持
GitHub: https://github.com/weibaohui/k8m Issues 提交 Pull Requests 功能讨论 微信群: 搜索 ID: daluomadetaiyang (备注 k8m) 技术交流 问题咨询 功能建议 问题反馈: GitHub Issues Bug 报告 功能请求 文档改进
10. 版本历史
v0.0.80 (最新)
AI 功能增强: 优化对话体验 增强分析能力 改进翻译功能 资源管理改进: 优化创建流程 增强批量操作 改进资源展示 安全特性优化: 增强权限控制 改进审计日志 优化会话管理
v0.0.73
新增 Deploy 探针管理: 支持配置探针 可视化展示 状态监控 优化 MCP 多集群提示: 明确权限范围 改进提示信息 优化用户体验 修复未授权访问问题: 增强访问控制 修复安全漏洞 改进错误处理
v0.0.72
MCP 大模型调用权限上线: 权限控制 调用限制 使用统计
v0.0.70
权限管理按集群隔离: 集群级权限 资源级权限 操作级权限
v0.0.67
新增 MCP 查询工具: 事件查询 集群查询 资源查询 增强资源查询功能: 标签搜索 条件过滤 结果排序 优化 MCP 服务器控制: 启停控制 状态监控 配置管理
11. 贡献指南
欢迎贡献代码、提交问题或改进建议。请遵循以下步骤:
Fork 项目:
创建个人分支 同步最新代码 准备开发环境 创建特性分支:
从 main 分支创建 命名规范:feature/xxx 保持分支整洁 提交更改:
编写测试用例 更新文档 遵循代码规范 推送到分支:
定期同步主分支 解决冲突 保持提交清晰 创建 Pull Request:
描述变更内容 关联 Issue 等待代码审查
12. 许可证
本项目采用 MIT 许可证。详情请查看 LICENSE 文件。
主要条款:
允许商业使用 允许修改 允许分发 允许私人使用 无担保 保留版权声明
参考链接: k8m GitHub