k8m 采用插件化架构,所有功能模块都以插件形式存在,支持灵活的启用/禁用和扩展。插件系统提供了完整的生命周期管理、依赖关系解析、定时任务调度等功能。
- 模块化设计:每个插件独立开发、部署和管理,互不影响
- 生命周期管理:支持插件的安装、启用、禁用、卸载、启动、停止等完整生命周期
- 依赖管理:支持插件间的依赖关系声明,自动按顺序加载
- 定时任务:支持在插件中定义定时任务,使用标准 cron 表达式
- 路由注册:支持集群路由、管理路由、插件管理路由等多种路由类型
- 数据库管理:插件可以声明使用的数据库表,系统自动管理
- 多实例支持:通过选举插件实现多实例环境下的主备切换
| 插件名称 | 插件标题 | 版本 | 描述 |
|---|---|---|---|
| leader | 多实例选举插件 | 1.0.0 | 提供多实例自动选举能力:通过 Kubernetes 原生机制完成选主。使用前请务必启用 /health/ready 就绪探针。启用后访问流量会集中到主实例。 |
| k8swatch | K8s资源监听插件 | 1.0.0 | 监听Kubernetes资源变更,包括Pod、Node、PVC、PV、Ingress等。关闭后部分页面的实时数据不显示。 |
| webhook | Webhook插件 | 1.0.0 | Webhook接收器管理、测试发送与发送记录查询 |
| eventhandler | 事件转发插件 | 1.0.0 | K8s 事件采集、规则过滤与Webhook转发。启用选举插件后,只有主实例执行,否则每个实例都执行。 |
| inspection | 集群巡检插件 | 1.0.0 | 基于 Lua 的集群巡检计划、规则管理与结果查看。启用选举插件后,只有主实例执行,否则每个实例都执行。 |
| helm | Helm 管理插件 | 1.0.0 | Helm 仓库、Chart、Release 管理。包括仓库添加、Chart浏览、Release安装升级卸载等功能。定时更新仓库索引。 |
| gllog | 全局日志 | 1.0.0 | 全局日志查询,支持跨集群Pod日志查看 |
| swagger | Swagger文档 | 1.0.0 | Swagger API文档查看。更新执行插件目录下的make.sh脚本生成文档。 |
| mcp_runtime | MCP运行时管理插件 | 1.0.0 | 管理大模型对话使用的MCP服务器。包括MCP服务器配置、工具管理、执行日志查看、开放MCP服务等功能。对话调用MCP时会自动添加Authorization头部,值为JWT token。 |
| openapi | OpenAPI插件 | 1.0.0 | API密钥管理,用于程序化访问平台 |
| k8m_mcp_server | K8M MCP Server插件 | 1.0.0 | 将K8M作为MCP Server使用。可以添加到MCP运行管理中使用。本插件监听/mcp/k8m/sse提供服务。 |
| k8sgpt | K8sGPT插件 | 1.0.0 | Kubernetes资源AI智能分析,支持Pod、Deployment、Service等多种资源类型的智能诊断。源自https://github.com/k8sgpt-ai/k8sgpt项目 |
| ai | AI 插件 | 1.0.0 | AI功能插件,提供K8s资源智能分析、事件问诊、日志分析、Cron表达式解析等功能。支持自定义AI模型配置。 |
| heartbeat | 集群心跳重连插件 | 1.0.0 | 管理集群心跳检测和自动重连功能 |
| gatewayapi | Gateway API管理插件 | 1.0.0 | Kubernetes Gateway API 管理 |
| istio | Istio管理插件 | 1.0.0 | Kubernetes Istio 服务网格管理 |
| openkruise | OpenKruise管理插件 | 1.0.0 | Kubernetes OpenKruise 高级工作负载管理 |
| demo | 演示插件 | 1.0.12 | 演示固定列表与CRUD功能 |
详细的插件开发文档请参考:插件架构文档
插件开发包括以下内容:
- 插件元信息定义
- 生命周期接口实现
- 路由注册
- 数据库表管理
- 定时任务配置
- 菜单声明
- 依赖关系管理