开源项目

代码无界,开源有光

当前位置:首页>开源项目
项目详情

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 辅助排查问题
  • 配置建议:智能推荐配置优化方案
    WX20250410-065614@2x.png

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)

  1. AI 功能增强

    • 新增 AI 对话窗口:优化交互体验
    • 支持划词翻译:多语言支持
    • 文档界面优化:提升可读性
    • AI 分析能力提升:更准确的建议
    • 智能诊断增强:更全面的问题分析
  2. 资源管理改进

    • 新增资源创建页面:简化创建流程
    • 副本数调整功能:动态调整副本数
    • 资源用量显示优化:更直观的展示
    • 批量操作优化:提升批量操作效率
    • 资源关联视图:展示资源关系
  3. 安全增强

    • 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 登录系统

  1. 访问 http://localhost:8080
  2. 使用默认账号密码登录
    • 默认用户名:admin
    • 默认密码:admin
  3. 首次登录建议:
    • 修改默认密码
    • 启用 2FA
    • 配置个人信息

6.2 集群管理

  1. 添加集群配置:
    • 通过 UI 添加
    • 通过配置文件添加
    • 导入现有 kubeconfig
  2. 选择要管理的集群:
    • 查看集群列表
    • 切换集群视图
    • 检查集群状态
  3. 查看集群资源状态:
    • 节点状态
    • Pod 状态
    • 资源使用情况
    • 事件监控

6.3 AI 功能使用

  1. 在任意页面选中文本:
    • 配置说明
    • 错误信息
    • 资源定义
  2. 点击 AI 解释按钮:
    • 获取解释
    • 查看示例
    • 获取建议
  3. 查看 AI 分析结果:
    • 问题诊断
    • 优化建议
    • 最佳实践

6.4 资源操作

  1. 查看资源列表:
    • 按类型筛选
    • 按命名空间筛选
    • 按标签筛选
  2. 创建/编辑资源:
    • 使用表单创建
    • 使用 YAML 编辑
    • 导入现有配置
  3. 查看资源详情:
    • 基本信息
    • 关联资源
    • 事件历史
  4. 执行运维操作:
    • 扩缩容
    • 重启
    • 更新配置
    • 查看日志

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 界面添加:
    1. 进入集群管理页面
    2. 点击添加集群
    3. 填写集群信息
    4. 上传 kubeconfig
  • 导入现有配置:
    1. 准备 kubeconfig 文件
    2. 使用导入功能
    3. 选择上下文

Q3: AI 功能需要额外配置吗?

A: 需要配置以下内容:

  • AI 模型选择:
    • GPT-3.5
    • GPT-4
    • 其他兼容模型
  • API Key 配置:
    • 获取 API Key
    • 配置到系统
    • 测试连接
  • 其他参数:
    • 温度参数
    • 最大 token 数
    • 超时设置

Q4: 如何启用 2FA?

A: 启用步骤:

  1. 配置文件设置:
    server:
      auth:
        enable_2fa: true
  2. 环境变量设置:
    ENABLE_2FA=true
  3. 用户配置:
    • 下载验证器应用
    • 扫描二维码
    • 保存恢复码
  4. 登录验证:
    • 输入用户名密码
    • 输入验证码
    • 完成登录

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. 贡献指南

欢迎贡献代码、提交问题或改进建议。请遵循以下步骤:

  1. Fork 项目:

    • 创建个人分支
    • 同步最新代码
    • 准备开发环境
  2. 创建特性分支:

    • 从 main 分支创建
    • 命名规范:feature/xxx
    • 保持分支整洁
  3. 提交更改:

    • 编写测试用例
    • 更新文档
    • 遵循代码规范
  4. 推送到分支:

    • 定期同步主分支
    • 解决冲突
    • 保持提交清晰
  5. 创建 Pull Request:

    • 描述变更内容
    • 关联 Issue
    • 等待代码审查

12. 许可证

本项目采用 MIT 许可证。详情请查看 LICENSE 文件。

主要条款:

  • 允许商业使用
  • 允许修改
  • 允许分发
  • 允许私人使用
  • 无担保
  • 保留版权声明

参考链接: k8m GitHub

上一篇:[开源]62.8k star Nginx 老用户私藏:为什么我在新项目里偷偷换成了 Caddy?

下一篇:[开源]一张全景图片就就可以构建出VR全景场景,使用720云相同核心技术

发表评论:

评论记录:

未查询到任何数据!

在线咨询

点击这里给我发消息 售前咨询专员

点击这里给我发消息 售后服务专员

在线咨询

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部