基于 Kubernetes 的一站式 AI 基础设施管理平台,提供 GPU 容器实例、分布式训练、模型推理和全生命周期资源管理。
- 基于 Kubeflow Notebook Controller 的 GPU 交互式计算环境
- 支持 JupyterLab、VS Code Server 等多种 IDE
- 内置 SSH 连接(通过 SSHPiper 动态路由)
- TensorBoard 可视化训练监控
- 实例生命周期管理(创建、启动、停止、删除)
- 基于 Volcano 的分布式训练任务调度
- 支持 PyTorch DDP、MPI 等主流框架
- Master/Worker 多节点配置
- 实时日志流和任务状态监控
- 在线推理服务部署与管理
- API Key 访问控制和流量策略
- 服务自动扩缩容
- 文件存储:基于 Kubernetes PVC 的持久化存储,支持容器/训练/推理间共享
- SSH 密钥:密钥对管理,支持密钥登录容器实例
- 镜像管理:基础镜像、社区镜像和自定义镜像
- 按量计费 / 包时计费 多种计费模式
- 实时余额和消费趋势监控
- 交易记录和发票管理
- 多集群管理(K8s 集群动态注册)
- 基于 Casbin 的 RBAC 权限控制
- 角色管理、菜单管理、API 管理
- 操作审计和访问日志
- 产品和定价管理
- 中英文双语支持
+------------------------------------------------------------------+
| Browser / SSH Client |
+---------------+----------------------------------+---------------+
| |
HTTP (:80) SSH (:22)
| |
v v
+---------------------+ +--------------------+
| Neptune Web | | APISIX Gateway |
| (Vue3 + Nginx) | | HTTP + Stream |
+---------+-----------+ +------+-------+-----+
| | |
| /aiInfra | |
v | v
+-----------------------+ | +----------+
| Neptune Server |<------------------+ | SSHPiper |
| (Go + Gin) | +----+-----+
| | |
| - Notebook API | v
| - Training API | +--------------+
| - Inference API | | Notebook Pod |
| - APISIX Route API | | (sshd:22) |
| - System Admin API | +--------------+
+---+-------------+-----+
| |
v v
+-------+ +---------+ +------------------------------+
| MySQL | | Redis | | Kubernetes API |
+-------+ +---------+ | - Kubeflow (Notebook/TB) |
| - Volcano (Training) |
| - PVC (Storage) |
+------------------------------+
| 层级 | 技术 |
|---|---|
| 前端 | Vue 3 + Vite + Element Plus + UnoCSS + ECharts |
| 后端 | Go 1.24 + Gin + GORM + Casbin + Viper |
| 数据库 | MySQL 8.0 + Redis 7 |
| 容器编排 | Kubernetes + Kubeflow + Volcano |
| 网关 | APISIX(HTTP 反向代理 + TCP Stream) |
| SSH | SSHPiper(基于用户名的动态 SSH 路由) |
neptune/
├── server/ # 后端服务 (Go)
│ ├── api/v1/ # API 接口层
│ ├── config/ # 配置结构体
│ ├── core/ # 核心组件初始化 (Zap, Viper, Server)
│ ├── global/ # 全局变量
│ ├── initialize/ # 初始化 (Router, DB, Redis, K8s)
│ ├── middleware/ # Gin 中间件
│ ├── model/ # 数据模型
│ ├── router/ # 路由注册
│ ├── service/ # 业务逻辑
│ ├── mcp/ # MCP 协议服务
│ ├── Dockerfile # 后端镜像构建
│ ├── config.yaml # 生产配置
│ └── config.dev.yaml # 开发配置
│
├── web/ # 前端 (Vue 3)
│ ├── src/
│ │ ├── api/ # API 请求封装
│ │ ├── components/ # 公共组件
│ │ ├── i18n/locales/ # 国际化 (zh-CN / en-US)
│ │ ├── pinia/ # 状态管理
│ │ ├── view/ # 页面视图
│ │ └── router/ # 前端路由
│ ├── Dockerfile # 前端镜像构建
│ └── nginx.conf # Nginx 反向代理配置
│
├── deploy/ # 部署配置
│ ├── docker/ # All-in-One Docker 构建
│ ├── docker-compose/ # Docker Compose 部署
│ └── kubernetes/ # Kubernetes 部署
│ ├── server/ # 后端 K8s 资源
│ ├── web/ # 前端 K8s 资源
│ └── component/ # 依赖组件一键部署
│ ├── kubeflow/ # Notebook/TB Controller
│ ├── volcano/ # 训练任务调度器
│ ├── apisix/ # API 网关
│ └── sshpiper/ # SSH 路由
│
└── docs/ # 文档
| 依赖 | 版本 |
|---|---|
| Go | >= 1.24 |
| Node.js | >= 20 |
| MySQL | >= 8.0 |
| Redis | >= 6.0 |
| 依赖 | 版本 |
|---|---|
| Kubernetes | >= 1.28 |
| Helm | >= 3.x |
| Docker | >= 24.x |
1. 启动后端
cd server
# 复制开发配置(首次)
# 修改 config.dev.yaml 中的 MySQL 和 Redis 连接信息
# 启动服务(默认端口 8001)
go run main.go2. 启动前端
cd web
# 安装依赖
npm install
# 启动开发服务器(默认端口 5173)
npm run dev# 在项目根目录执行
docker-compose -f deploy/docker-compose/docker-compose.yaml up -d服务启动后:
- 前端: http://localhost
- 后端 API: http://localhost:8888/aiInfra
适用于单机部署、测试环境。
docker-compose -f deploy/docker-compose/docker-compose.yaml up -d包含服务:Neptune Server、Neptune Web、MySQL、Redis
⚠️ Docker Compose 模式不包含 Kubernetes 相关功能(Notebook、Training 等需要 K8s 集群支持)
适用于生产环境。
1. 部署依赖组件
# 一键部署 Volcano、Kubeflow、APISIX、SSHPiper
bash deploy/kubernetes/component/deploy_all.sh2. 部署 Neptune 服务
# 部署后端
kubectl apply -f deploy/kubernetes/server/
# 部署前端
kubectl apply -f deploy/kubernetes/web/📝 部署前请修改 Deployment 中的镜像地址和 Ingress 域名
| 配置文件 | 用途 |
|---|---|
server/config.dev.yaml |
本地开发配置 |
server/config.yaml |
生产配置模板 |
deploy/docker-compose/config.yaml |
Docker Compose 环境配置 |
deploy/kubernetes/server/gva-server-configmap.yaml |
K8s 环境配置 |
system:
addr: 8888 # 服务监听端口
router-prefix: "aiInfra" # 路由全局前缀
mysql:
path: "127.0.0.1" # 数据库地址
db-name: "aiInfra" # 数据库名
redis:
addr: "127.0.0.1:6379" # Redis 地址
apisix:
enabled: true # 启用 APISIX 网关
auth-uri: "..." # 认证回调地址
sshpiper:
host: "127.0.0.1" # SSHPiper 地址
port: 22 # SSHPiper 端口Proprietary - All Rights Reserved
