🚀 新一代企业级 Kubernetes 多集群管理平台
🎯 什么是 Kube-Nova?
Kube-Nova 是一个生产就绪的企业级 Kubernetes 多集群管理平台,重新定义了组织如何大规模管理容器化工作负载。采用前沿的微服务架构,基于 Go-Zero 框架构建,提供无与伦比的性能、灵活性和卓越的运维能力。
💡 为什么选择 Kube-Nova
传统的 Kubernetes 管理平台在企业场景中存在诸多不足。Kube-Nova 通过创新解决方案填补了这些关键空白:
| 🏗️ 革命性架构 | ⚡ 企业级运维 |
|---|---|
| 三层多租户隔离:项目 → 集群配额 → 工作空间,支持资源超分 | 五维监控体系:Pod、节点、命名空间、集群、Ingress 全方位指标 |
| 微服务卓越性:7 个专业化服务,gRPC 高性能通信 | 智能告警系统:6 种通知渠道,智能路由和聚合 |
| 事件驱动同步:增量监听系统,Leader 选举实现实时集群状态管理 | 高级 Pod 操作:分片文件上传、实时日志、交互式终端 |
🚀 即将上线
- DevOps CI/CD 平台:集成持续集成和部署流水线
- Istio 服务网格:高级流量管理、可观测性和安全性
✨ 核心功能
🏢 多租户与资源管理
三层隔离架构
项目(租户)
├─ 集群配额(资源池)
│ ├─ CPU/内存/GPU 超分配置
│ └─ 跨集群资源分配
└─ 工作空间(命名空间组)
├─ 细粒度 RBAC
└─ 资源配额强制执行
核心能力
- ✅ 可配置的资源超分比例
- ✅ 分层权限继承
- ✅ 自动成本分配和计费
- ✅ 多平台动态菜单管理
- ✅ 基于部门的组织架构
🌐 统一多集群管理
- 灵活认证方式:支持 Kubeconfig、Token 和证书方式接入集群
- 集群元数据:环境标签(dev/test/staging/prod)、云厂商追踪、区域/可用区管理
- 实时监控:控制平面健康状态(API Server、etcd、Scheduler、Controller Manager)
- 节点操作:标签、污点、隔离和高级调度控制
- 网络发现:自动集群网络拓扑可视化
🔔 智能告警系统
| 渠道类型 | 支持平台 | 高级特性 |
|---|---|---|
| 即时通讯 | • 基于严重级别的路由(信息/警告/严重) |
• 告警分组和聚合 |
| 通知推送 | | • 实时 WebSocket 推送
• 值班排班管理
• 通知历史追踪 |
| 开发中 | | |
📦 容器镜像仓库管理(Harbor 深度集成)
| 核心功能 | 高级策略 |
|---|---|
| • 多仓库统一管理(Harbor、Docker Registry、Nexus) |
• 三层权限控制(仓库 → 项目 → 镜像库)
• 项目级配额管理
• 全局/项目镜像搜索
• 成员角色管理 | • 垃圾回收:定时/手动 GC
• 保留策略:基于模板规则(最新K个/N天未拉取)
• 复制策略:跨仓库复制,支持过滤器
• 用户管理:Harbor 用户与角色分配 |
🚀 工作负载生命周期管理
- 完整工作负载支持:Deployment, StatefulSet, DaemonSet, Job, CronJob
- 高级操作:启动/停止、重启、扩缩容、滚动更新、一键回滚
- 批量镜像更新:同时更新多个工作负载的镜像
- 版本历史:追踪并回滚到之前的配置,支持 Diff 对比
- YAML 优先:表单与 YAML 无缝转换
🐳 高级 Pod 操作
| 日志管理 | 文件操作 | 交互式终端 |
|---|---|---|
| • 实时流式日志 |
• 历史日志查看
• 多容器支持
• 日志下载
• 高级过滤 | • 浏览容器文件系统
• 在线编辑文件
• 分片文件上传(大文件)
• 文件下载
• 压缩/解压归档 | • Web 终端访问
• 多容器选择
• 终端大小调整
• 会话持久化
• 复制/粘贴支持 |
📊 五维监控体系
┌─────────────────────────────────────────────────────────────────┐
│ Pod 级别 → CPU、内存、网络 I/O、磁盘 I/O、重启次数 │
│ 节点级别 → 系统指标、资源利用率、Kubelet 状态 │
│ 命名空间级别 → 配额使用、工作负载分布、Top 资源消耗 │
│ 集群级别 → 控制平面健康、资源容量、API 延迟 │
│ Ingress 级别 → 流量、响应时间、错误率、SSL 证书 │
└─────────────────────────────────────────────────────────────────┘
🎯 自动化与安全
- 金丝雀部署 (Flagger):渐进式交付、基于指标的自动回滚、蓝绿部署。
- 自动扩缩容:HPA(水平)、VPA(垂直)、自定义指标支持。
- 全面审计日志:四级审计(集群/项目/空间/应用)、操作追踪、Diff 历史。
- 网络策略管理:可视化策略编辑、受影响 Pod 分析、实时验证。
- 成本管理:基于资源的计费、多维度定价、预算告警。
🏗️ 架构亮点
微服务架构
Kube-Nova 通过 7 个专业化微服务实现清晰的关注点分离:
| 架构层级 | 服务组件 | 职责描述 |
|---|---|---|
| 前端 | Vue 3 + Art Design | 用户交互界面 |
| 接入层 | Portal-API/RPC | 用户认证、RBAC、告警管理、站内消息 |
| 管理层 | Manager-API/RPC | 集群/项目管理、计费、审计日志、资源同步 |
| 控制层 | Console-API/RPC | 监控仪表板、Pod 操作、镜像仓库管理 |
| 工作负载 | Workload-API | 工作负载 CRUD、扩缩容、更新、回滚、金丝雀部署 |
关键架构创新
- 增量监听系统:分布式资源变更追踪,Leader 选举实现高可用。
- 事件驱动同步:Kubernetes 监听事件触发实时数据库更新。
- 多 Prometheus 支持:每个集群可拥有独立的 Prometheus 实例,统一查询。
- gRPC 内部通信:低延迟、类型安全的微服务间通信。
🛠️ 技术栈
| 领域 | 核心技术 |
|---|---|
| 后端 | Go 1.25.5, Go-Zero 1.9.4, gRPC, MySQL 8.0+, Redis 7.0+ |
| 前端 | Vue 3.x, Art Design Pro, Pinia, Axios, WebSocket |
| 基础设施 | Kubernetes 1.21+, Docker, Harbor 2.0+, GitLab CI/GitHub Actions |
| 关键依赖 | Client-go, Prometheus, JWT + Casbin, MinIO, Istio (可选) |
🚀 快速开始
前置要求
- Kubernetes 集群 1.21+
- MySQL 8.0+
- Redis 7.0+
- Go 1.25.5+(开发用)
安装方式
1. Kubernetes 部署(推荐)
# 克隆仓库
git clone [https://github.com/yanshicheng/kube-nova.git](https://github.com/yanshicheng/kube-nova.git)
cd kube-nova
# 应用 Kubernetes 清单
kubectl apply -f manifests/
# 检查部署状态
kubectl get pods -n kube-nova
# 访问平台 (端口转发)
kubectl port-forward -n kube-nova svc/kube-nova-web 8080:80
2. Docker Compose
git clone [https://github.com/yanshicheng/kube-nova.git](https://github.com/yanshicheng/kube-nova.git)
cd kube-nova
docker-compose up -d
# 访问 http://localhost:8080
3. 本地开发
# 初始化数据库
mysql -u root -p < sql/kube_nova.sql
# 启动各个服务 (示例)
cd application/portal-api && go run portal.go &
# ... 重复启动其他服务
访问平台
- URL:
http://your-domain:8080 - 默认凭证:
admin/admin123(请首次登录后修改)
📁 项目结构
kube-nova/
├── application/ # 微服务应用 (API & RPC)
│ ├── portal-api/ # 认证与基础服务
│ ├── manager-api/ # 集群与项目管理
│ ├── console-api/ # 控制台与监控
│ └── workload-api/ # 工作负载管理
├── common/ # 共享库 (K8s Client, Utils, Middleware)
├── pkg/ # 第三方封装 (Casbin, JWT, MinIO)
├── manifests/ # K8s 部署清单
├── dockerfile/ # Docker 构建文件
└── sql/ # 数据库脚本
📸 平台截图
🖱️ 点击展开查看详细截图
| 仪表板与集群管理 | |
|---|---|
登录页面 |
集群管理 |
|
集群节点 |
集群监控 |
| 项目与应用管理 | |
|---|---|
项目资源 |
项目工作空间 |
|
应用详情 |
服务版本 |
| Pod 操作与监控 | |
|---|---|
Pod 日志 |
Pod 终端 |
|
文件管理 |
钉钉告警 |
🤝 贡献指南
- Fork 本仓库
- 创建分支:
git checkout -b feature/amazing-feature - 提交更改:
git commit -m "feat: add amazing feature" - 推送:
git push origin feature/amazing-feature - 提交 PR: 确保所有测试通过,并遵循 Conventional Commits 规范。
📦 代码仓库
| 组件 | GitHub | Gitee |
|---|---|---|
| 后端 | yanshicheng/kube-nova | ikubeops/kube-nova |
| 前端 | yanshicheng/kube-nova-web | ikubeops/kube-nova-web |
| Operator | yanshicheng/kube-nova-operator | ikubeops/kube-nova-operator |
📄 开源协议
本项目采用 Apache License 2.0 开源协议。
Copyright 2025 YanShicheng
🌟 Star 历史
用 ❤️ 由 Kube-Nova 团队构建