# deep-gpu-plat **Repository Path**: lixiaobin1304/deep-gpu-plat ## Basic Information - **Project Name**: deep-gpu-plat - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-28 - **Last Updated**: 2026-06-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 天启算力管理平台 ![image-20260421145951511](images/image-20260421145951511.png) ## 1. 项目简介 ### 项目概述 **天启算力管理平台**面向企业与团队,提供 GPU 算力、Docker 容器实例与 Kubernetes 集群的统一纳管、调度与运维能力,并集成 AI 辅助、模型微调等扩展能力,降低算力资源使用与运维门槛。 ### 项目起源与背景 随着 AI 训练、推理及科学计算对 GPU 依赖加深,算力节点分散、容器与集群多套环境并存、权限与审计难统一等问题突出。本平台将算力节点、镜像与规格、实例生命周期、K8s 多集群与常见运维资产纳入同一套控制台,减少跨系统切换与手工操作。 ### 项目定位 - **目标用户**:算力平台运维、研发与算法团队、有 GPU 池化与容器交付需求的组织。 - **适用场景**:内部算力中台、科研/教学实验环境、多云或混合环境下的 GPU 与 K8s 协同管理。 ### 核心价值 - 统一入口管理 Docker GPU 实例与 K8s 工作负载,降低协作成本。 - RBAC、操作审计、跳板机与 Web 终端等能力支撑安全合规运维。 - 插件化扩展(AI 对话与配置、微调任务、资产与端口转发等)便于按需启用。 --- ## 2. 整体架构与技术栈 ### 系统架构 平台采用**前后端分离**:浏览器访问 Vue3 单页应用,经网关或反向代理调用 Go(Gin)提供的 REST API;后端连接关系型数据库与 Redis,并通过 Docker API、Kubernetes API 与各算力节点交互。 ```mermaid graph LR subgraph 客户端 B[浏览器] end subgraph 应用层 W[Web 前端 Vue3] A[Gin API 服务] end subgraph 数据与中间件 D[(MySQL 等)] R[(Redis)] end subgraph 基础设施 DK[Docker 引擎 / GPU 节点] K8[Kubernetes API] end B --> W W --> A A --> D A --> R A --> DK A --> K8 ``` ### 技术栈 | 分类 | 技术 | 说明 | |------|------|------| | 后端 | Go(`go.mod` 约 1.25)、Gin、GORM | REST API、业务与插件 | | 权限与安全 | JWT、Casbin | 认证与 RBAC | | 容器与编排 | Docker API、client-go | 实例与多集群管理 | | 前端 | Vue 3、Vite 6、Element Plus、Pinia、Vue Router | 管理控制台 | | 数据库 | MySQL 8(Compose 默认),亦可对接 PG/SQLite 等 | 业务与系统数据 | | 缓存 | Redis 6 | 会话与缓存(可按配置启用) | | 部署 | Docker、Docker Compose;可选 Kubernetes 清单 | `deploy/` 下提供示例 | ### 技术选型说明(摘要) - **Go + Gin**:高并发、部署简单,适合对接 Docker/K8s 与长连接场景。 - **Vue3 + Vite**:组件化开发与较快的前端构建体验。 - **MySQL + Redis**:与生态工具链成熟,便于备份与运维。 --- ## 3. 项目目录概览 ``` ├── server/ # 后端(Gin):API、模型、路由、配置、插件 │ ├── api/ # 控制器层 │ ├── service/ # 业务逻辑(含 SSH 跳板机等) │ ├── model/ # 数据模型 │ ├── router/ # 路由注册 │ ├── plugin/ # 业务插件(k8smanager、aiagent、finetuning 等) │ └── docs/ # Swagger 等文档产物 ├── web/ # 前端(Vue3 + Vite) │ ├── src/view/ # 页面 │ ├── src/plugin/ # 与后端插件对应的前端模块 │ └── public/ # 静态资源 ├── deploy/ │ ├── docker-compose/ # Compose:web / server / mysql / redis │ │ └── mysql/initsql/ # MySQL 首次初始化 SQL(仅新数据卷执行一次) │ └── kubernetes/ # K8s 部署示例 ├── docs/ # 项目文档与示意图等 ├── website/ # 静态介绍页(可选本地预览) └── README.md ``` --- ## 4. 核心业务功能 - **Docker GPU 算力**:算力节点与 TLS、镜像库、产品规格、实例全生命周期、端口转发、资源监控、Web 终端与 SSH 跳板机。 - **Kubernetes 管理**:多集群与 kubeconfig 安全存储、Namespace/Deployment/Pod/Service/Event、节点与指标、操作审计与分级权限。 - **运维与资产**:服务器生命周期、戴尔资产登记与状态流转、PCDN 节点纳管与统计(部分能力持续演进)。 - **AI 与算法**:AI Agent 配置与对话(对接可配置的大模型 API)、微调任务管理。 - **系统能力**:用户与角色、菜单与 API、字典与参数、代码生成、定时任务、操作日志等。 --- ## 5. 实际应用场景示例 1. **企业 GPU 中台** 运维在平台录入多台带 GPU 的 Docker 主机与镜像仓库,按「产品规格」对外发放训练/推理容器;用户通过控制台查看实例状态、日志与监控,必要时使用 Web 终端或跳板机进入环境。 2. **研发与集群协同** 研发团队除使用 Docker 实例外,还在平台维护多套 K8s 集群凭证,在同一界面切换集群查看工作负载与事件,利用审计与权限模型区分「平台管理员」与「命名空间使用者」。 3. **教学与实验环境** 教务或实验室管理员批量维护规格与镜像,师生按需申请实例;结合初始化 SQL 或演示数据,可快速拉起一套可演示的完整菜单与示例业务数据(以实际导入脚本为准)。 --- ## 6. 帮助解决的核心问题 - GPU 与容器资源分散、缺乏统一视图与操作流程。 - 多集群、多命名空间下权限粗放、难以审计。 - 手工登录节点排障效率低,缺少 Web 终端与集中日志/事件入口。 - 算力产品与镜像、节点绑定关系复杂,需要可配置的规格与调度约束。 - AI 与微调相关能力与业务系统割裂,需要可插拔的统一入口。 --- ## 7. 快速开始 ### 代码仓库地址 克隆与远程请使用贵司统一托管地址(以下为占位,请替换为实际仓库 URL): ```bash git clone <项目地址> cd deep-gpu-management ``` ### 环境要求 | 方式 | 要求 | |------|------| | 本地开发 | Go 1.25+、Node.js 20+、MySQL 5.7+(或兼容版本)、可选 Redis | | Docker Compose | 已安装 Docker 与 Docker Compose 插件 | ### 安装与运行(本地开发) 1. **后端** ```bash cd server go mod download go run main.go ``` 默认 API 端口以 `server/config.yaml` 中 `system.addr` 为准(常见为 `8890`)。Swagger:`http://127.0.0.1:8890/swagger/index.html`(若已开启)。 2. **前端** ```bash cd web npm install npm run dev ``` 开发模式下前端默认 `http://localhost:8080`(以 `web/vite.config.js` 与本地环境为准)。 3. **首次初始化数据库** 浏览器访问前端地址,若检测到未初始化,按向导填写数据库连接并执行初始化。完成后请**立即修改**默认管理员密码。 ### 安装与运行(Docker Compose) ```bash cd deploy/docker-compose docker compose up -d ``` - **访问地址(默认映射)** - 前端:`http://localhost:8080` - 后端 API:`http://localhost:8888`(以 `docker-compose.yaml` 中 `server` 端口为准) - MySQL 宿主机端口:`13306` - Redis 宿主机端口:`16379` - **MySQL 初始化 SQL** 目录 `deploy/docker-compose/mysql/initsql/` 已挂载到容器内 `docker-entrypoint-initdb.d`,**仅在 MySQL 数据卷首次创建时**自动执行;已有数据卷不会重复导入。若需重新导入,需删除对应 Docker volume 后重新 `up`(会清空库,请先备份)。 - **停止** ```bash cd deploy/docker-compose docker compose down # 清空数据卷(慎用) # docker compose down -v ``` ### Kubernetes(可选) 示例清单位于 `deploy/kubernetes/`,可按环境修改后 `kubectl apply`。生产环境请结合 Ingress、密钥管理与存储类自行加固。 ### 默认账号说明 - Web 向导初始化完成后,常见默认用户名为 **`admin`**,初始密码以初始化页面或环境说明为准(历史文档多为 **`123456`**)。**首次登录后必须修改密码**,并在生产环境修改 JWT、数据库与 Redis 等全部默认密钥。 ### 常见问题 | 现象 | 处理建议 | |------|----------| | 数据库连接失败 | 检查库地址、端口、账号权限;Docker 场景确认 `gva-mysql` 健康检查通过 | | 前端无法访问 API | 核对 `web` 环境变量与反向代理;生产环境确认 Nginx 将 `/api` 转发到后端 | | Docker 节点连接失败 | 检查节点 Docker 是否监听、TLS 证书与防火墙;核对算力节点上填写的 API 地址 | | 初始化 SQL 未生效 | 仅在新 MySQL 卷首次启动时执行;需要时备份后删卷重建 | | 端口冲突 | 修改 `docker-compose.yaml` 中 `ports` 映射 | --- ## 8. 运行示例截图 ![img (1)](images/img.gif) ![image-20260421145935825](images/image-20260421145935825.png) ![image-20260421150006198](images/image-20260421150006198.png) ![image-20260421150009744](images/image-20260421150009744.png) ![image-20260421150013179](images/image-20260421150013179.png) ![image-20260421150026943](images/image-20260421150026943.png) ![image-20260421150139527](images/image-20260421150139527.png) ![image-20260421150143520](images/image-20260421150143520.png) ![image-20260421150408757](images/image-20260421150408757.png) ![image-20260421150415429](images/image-20260421150415429.png) ![image-20260421150422201](images/image-20260421150422201.png) ![image-20260421150429245](images/image-20260421150429245.png) ![image-20260421150433068](images/image-20260421150433068.png) ![image-20260421150437261](images/image-20260421150437261.png) ![image-20260421150451591](images/image-20260421150451591.png) ![image-20260421150456008](images/image-20260421150456008.png) 通过网盘分享的文件:天启算力管理平台 - Google Chrome 2026-04-21 15-06-02.mp4 链接: https://pan.baidu.com/s/1uU_3zLoediXB2HPzqXALCQ 提取码: khk6 --来自百度网盘超级会员v3的分享