增加kong网关控制,完善redeme文件
This commit is contained in:
+1
-1
@@ -8,4 +8,4 @@ bbit_ai/test/ocr/PP-OCRv5_server_det_infer/
|
|||||||
bbit_ai/test/ocr/PP-OCRv5_server_rec_infer/
|
bbit_ai/test/ocr/PP-OCRv5_server_rec_infer/
|
||||||
vue/vue.tar
|
vue/vue.tar
|
||||||
bbit_ai/test/ocr/
|
bbit_ai/test/ocr/
|
||||||
bbit_ai/ce-pybackend.tar
|
bbit_ai/ce_pybackend.tar
|
||||||
|
|||||||
@@ -1,9 +1,15 @@
|
|||||||
# ICP(Intelligence Control Platform)
|
# ICP(Intelligence Control Platform)
|
||||||
|
|
||||||
## 简介
|
## 一、简介
|
||||||
|
|
||||||
主干AI实验室使用以下技术栈:
|
主干AI实验室使用以下技术栈:
|
||||||
|
|
||||||
|
- ### 部署
|
||||||
|
|
||||||
|
- **Docker**:项目部署
|
||||||
|
- **Nginx**:前端项目部署
|
||||||
|
- **Kong**: 网关
|
||||||
|
|
||||||
- ### 前端
|
- ### 前端
|
||||||
|
|
||||||
- **Vue**:Vben Admin作为框架
|
- **Vue**:Vben Admin作为框架
|
||||||
@@ -13,7 +19,8 @@
|
|||||||
|
|
||||||
- **Ktor**:业务后端
|
- **Ktor**:业务后端
|
||||||
- 开发语言:**Java/Kotlin**
|
- 开发语言:**Java/Kotlin**
|
||||||
- **Python** FastAPI:实验室AI模块后端程序
|
- **FastAPI**:实验室AI模块后端程序
|
||||||
|
- 开发语言:**Python**
|
||||||
|
|
||||||
- ### 数据库
|
- ### 数据库
|
||||||
|
|
||||||
@@ -30,12 +37,33 @@
|
|||||||
|
|
||||||
- **MinIO**:实验室对象存储服务器
|
- **MinIO**:实验室对象存储服务器
|
||||||
|
|
||||||
- ### 部署
|
## 二、端口使用
|
||||||
|
|
||||||
- **Docker**:项目部署
|
公网域名:s1.ronsunny.cn
|
||||||
- **Nginx**:前端项目部署
|
|
||||||
|
|
||||||
## 部署
|
| 公网端口 | 内网端口 | 框架 | docker服务/Host | docker端口 | 功能作用 |
|
||||||
|
| -------- | -------- | ---------- | --------------- | ---------- | --------------------------------------- |
|
||||||
|
| | | Vue | ce_vue | 8090 | vue前端服务 |
|
||||||
|
| | | FastAPI | ce_pybackend | 13011 | python后端程序 |
|
||||||
|
| | 5432 | PostgreSQL | ce_postgres | 5432 | PostgreSQL数据库 |
|
||||||
|
| | 6379 | Redis | ce_redis | 6379 | Radis数据库 |
|
||||||
|
| | | Etcd | ce_etcd | 2379 | Etcd,Key-Value 存储,给ce_milvus使用 |
|
||||||
|
| **9000** | 9000 | MinIO | ce_minio | 9000 | MinIO数据访问 |
|
||||||
|
| | 9001 | | ce_minio | 9001 | MinIOWeb控制端 |
|
||||||
|
| | 19530 | Milvus | ce_milvus | 19530 | Minvus数据访问 |
|
||||||
|
| | 9091 | | ce_milvus | 9091 | MinvusWeb控制端,需要加/webui |
|
||||||
|
| | 3000 | Attu | ce_attu | 3000 | Attu,Minvus的**可视化**控制 |
|
||||||
|
| **8090** | 8090 | Kong | ce_kong | 8090 | Kong网关 |
|
||||||
|
| | 8001 | | ce_kong | 8001 | Kong Admin API |
|
||||||
|
| | 8002 | | ce_kong | 8002 | Kong Admin API 的 HTTPS 端口 |
|
||||||
|
| | 8444 | | ce_kong | 8444 | Kong **可视化**管理界面 |
|
||||||
|
| | 8088 | ws-scrcpy | | | Android远程框架 |
|
||||||
|
| 8088 | | | | | 已废弃,原Android远程框架,已由网关控制 |
|
||||||
|
| 8089 | | | | | 已废弃,原Ktor后端服务,已由网关控制 |
|
||||||
|
| 13011 | | | | | 已废弃:原FastAPI后端服务,已由网关控制 |
|
||||||
|
|
||||||
|
|
||||||
|
## 三、部署
|
||||||
|
|
||||||
### 后端
|
### 后端
|
||||||
|
|
||||||
@@ -60,31 +88,32 @@
|
|||||||
|
|
||||||
1. 打包Docker
|
1. 打包Docker
|
||||||
```
|
```
|
||||||
docker build -t ce-pybackend .
|
docker build -t ce_pybackend .
|
||||||
```
|
```
|
||||||
|
|
||||||
2. 保存Image为文件
|
2. 保存Image为文件
|
||||||
```
|
```
|
||||||
docker save -o ce-pybackend.tar ce-pybackend
|
docker save -o ce-pybackend.tar ce_pybackend
|
||||||
```
|
```
|
||||||
|
|
||||||
3. 将保存好的Image`ce-pybackend.tar`上传到服务器
|
3. 将保存好的Image`ce-pybackend.tar`上传到服务器
|
||||||
|
|
||||||
4. 删除服务器的旧版镜像
|
4. 删除服务器的旧版镜像
|
||||||
```
|
```
|
||||||
docker rmi ce-pybackend:latest
|
docker rmi ce_pybackend:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
5. 读取上传的新镜像
|
5. **读取上传的新镜像**
|
||||||
|
|
||||||
```
|
```
|
||||||
docker load -i ce-pybackend.tar
|
docker load -i ce_pybackend.tar
|
||||||
```
|
```
|
||||||
|
|
||||||
其他命令:
|
其他命令:
|
||||||
|
|
||||||
- 测试运行docker
|
- 测试运行docker
|
||||||
```
|
```
|
||||||
docker run -d -p 13011:13011 ce-pybackend
|
docker run -d -p 13011:13011 ce_pybackend
|
||||||
```
|
```
|
||||||
|
|
||||||
- 调试运行项目
|
- 调试运行项目
|
||||||
@@ -94,7 +123,7 @@
|
|||||||
|
|
||||||
- docker日志查看
|
- docker日志查看
|
||||||
```
|
```
|
||||||
docker logs -f ce-pybackend
|
docker logs -f ce_pybackend
|
||||||
```
|
```
|
||||||
|
|
||||||
### 前端
|
### 前端
|
||||||
@@ -108,7 +137,7 @@
|
|||||||
|
|
||||||
2. 将Image保存为文件
|
2. 将Image保存为文件
|
||||||
```shell
|
```shell
|
||||||
docker save -o vue.tar ce-vue
|
docker save -o vue.tar ce_vue
|
||||||
```
|
```
|
||||||
|
|
||||||
3. 将保存好的Image`vue.tar`上传到服务器
|
3. 将保存好的Image`vue.tar`上传到服务器
|
||||||
@@ -122,7 +151,7 @@
|
|||||||
5. 删除之前的Image
|
5. 删除之前的Image
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker rmi ce-vue:latest
|
docker rmi ce_vue:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
6. 在服务器读取Image
|
6. 在服务器读取Image
|
||||||
@@ -150,6 +179,12 @@
|
|||||||
|
|
||||||
## 其他
|
## 其他
|
||||||
|
|
||||||
|
### docker的地址
|
||||||
|
|
||||||
|
windows:host.docker.internal
|
||||||
|
|
||||||
|
Linux:ip addr show docker0 查看
|
||||||
|
|
||||||
### Vue项目使用
|
### Vue项目使用
|
||||||
|
|
||||||
- 本地运行dist文件夹
|
- 本地运行dist文件夹
|
||||||
|
|||||||
@@ -1,44 +1,52 @@
|
|||||||
|
|
||||||
|
x-kong-config:
|
||||||
|
&kong-env
|
||||||
|
KONG_DATABASE: postgres
|
||||||
|
KONG_PG_HOST: postgres
|
||||||
|
KONG_PG_DATABASE: kong
|
||||||
|
KONG_PG_USER: postgres
|
||||||
|
KONG_PG_PASSWORD: 123456
|
||||||
services:
|
services:
|
||||||
|
# ---------- Vue 前端 ----------
|
||||||
vue:
|
vue:
|
||||||
container_name: ce_vue
|
container_name: ce_vue
|
||||||
image: ce-vue:latest
|
image: ce_vue:latest
|
||||||
ports:
|
networks:
|
||||||
- "8090:8090" # 映射到宿主机的 8090 端口
|
- ce_network
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
|
||||||
- ce_network
|
|
||||||
|
|
||||||
|
# ---------- Python 后端 ----------
|
||||||
backend:
|
backend:
|
||||||
container_name: ce-pybackend
|
container_name: ce_pybackend
|
||||||
image: ce-pybackend:latest
|
image: ce_pybackend:latest
|
||||||
ports:
|
|
||||||
- "13011:13011"
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
networks:
|
||||||
- ce_network
|
- ce_network
|
||||||
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- vue
|
- vue
|
||||||
extra_hosts:
|
extra_hosts:
|
||||||
- "s1.ronsunny.cn:10.10.10.9"
|
- "s1.ronsunny.cn:10.10.10.9"
|
||||||
|
|
||||||
|
# ---------- PostgreSQL ----------
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:15-alpine
|
|
||||||
container_name: ce_postgres
|
container_name: ce_postgres
|
||||||
|
image: postgres:15-alpine
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_DB: ktor
|
POSTGRES_DB: ktor # 实际上这里已经没用了,因为卷已经创建了,现在在用ktor2、kong两个数据库
|
||||||
POSTGRES_USER: postgres
|
POSTGRES_USER: postgres
|
||||||
POSTGRES_PASSWORD: 123456
|
POSTGRES_PASSWORD: 123456
|
||||||
volumes:
|
|
||||||
- postgres_data:/var/lib/postgresql/data
|
|
||||||
ports:
|
ports:
|
||||||
- "5432:5432"
|
- "5432:5432"
|
||||||
|
volumes:
|
||||||
|
- postgres_data:/var/lib/postgresql/data
|
||||||
networks:
|
networks:
|
||||||
- ce_network
|
- ce_network
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
|
# ---------- Redis ----------
|
||||||
redis:
|
redis:
|
||||||
image: redis:7.2.3-alpine
|
|
||||||
container_name: ce_redis
|
container_name: ce_redis
|
||||||
|
image: redis:7.2.3-alpine
|
||||||
volumes:
|
volumes:
|
||||||
- redis_data:/data
|
- redis_data:/data
|
||||||
ports:
|
ports:
|
||||||
@@ -47,43 +55,29 @@ services:
|
|||||||
- ce_network
|
- ce_network
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
|
# ---------- MinIO ----------
|
||||||
minio:
|
minio:
|
||||||
image: minio/minio:RELEASE.2025-03-12T18-04-18Z
|
|
||||||
container_name: ce_minio
|
container_name: ce_minio
|
||||||
|
image: minio/minio:RELEASE.2025-03-12T18-04-18Z
|
||||||
environment:
|
environment:
|
||||||
MINIO_ACCESS_KEY: minioadmin
|
MINIO_ACCESS_KEY: minioadmin
|
||||||
MINIO_SECRET_KEY: minioadmin
|
MINIO_SECRET_KEY: minioadmin
|
||||||
volumes:
|
|
||||||
- minio_data:/data
|
|
||||||
ports:
|
ports:
|
||||||
- "9000:9000"
|
- "9000:9000"
|
||||||
- "9001:9001"
|
- "9001:9001"
|
||||||
command: server /data --console-address ":9001"
|
volumes:
|
||||||
|
- minio_data:/data
|
||||||
networks:
|
networks:
|
||||||
- ce_network
|
- ce_network
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
command: server /data --console-address ":9001"
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
timeout: 20s
|
timeout: 20s
|
||||||
retries: 3
|
retries: 3
|
||||||
|
|
||||||
# ollama:
|
# ---------- ETCD ----------
|
||||||
# image: ollama/ollama
|
|
||||||
# container_name: ce_ollama
|
|
||||||
# deploy:
|
|
||||||
# resources:
|
|
||||||
# reservations:
|
|
||||||
# devices:7
|
|
||||||
# - capabilities: [gpu] # 启用 GPU 支持
|
|
||||||
# volumes:
|
|
||||||
# - ollama_data:/root/.ollama # 持久化 ollama 数据
|
|
||||||
# ports:
|
|
||||||
# - "11434:11434" # 暴露 ollama 的端口
|
|
||||||
# networks:
|
|
||||||
# - ce_network
|
|
||||||
# restart: unless-stopped
|
|
||||||
|
|
||||||
etcd:
|
etcd:
|
||||||
container_name: ce_etcd
|
container_name: ce_etcd
|
||||||
image: quay.io/coreos/etcd:v3.5.18
|
image: quay.io/coreos/etcd:v3.5.18
|
||||||
@@ -103,6 +97,7 @@ services:
|
|||||||
timeout: 20s
|
timeout: 20s
|
||||||
retries: 3
|
retries: 3
|
||||||
|
|
||||||
|
# ---------- Milvus ----------
|
||||||
milvus:
|
milvus:
|
||||||
container_name: ce_milvus
|
container_name: ce_milvus
|
||||||
image: milvusdb/milvus:v2.6.1
|
image: milvusdb/milvus:v2.6.1
|
||||||
@@ -124,34 +119,96 @@ services:
|
|||||||
timeout: 20s
|
timeout: 20s
|
||||||
retries: 3
|
retries: 3
|
||||||
ports:
|
ports:
|
||||||
- "19530:19530"
|
- "19530:19530" # 服务用
|
||||||
- "9091:9091"
|
- "9091:9091" # GUI用
|
||||||
depends_on:
|
depends_on:
|
||||||
- "etcd"
|
- etcd
|
||||||
- "minio"
|
- minio
|
||||||
|
|
||||||
|
# ---------- Attu ----------
|
||||||
attu:
|
attu:
|
||||||
image: zilliz/attu:v2.6
|
|
||||||
container_name: ce_attu
|
container_name: ce_attu
|
||||||
|
image: zilliz/attu:v2.6
|
||||||
environment:
|
environment:
|
||||||
MILVUS_URL: ce_milvus:19530 # 指向你的 Milvus 容器
|
MILVUS_URL: ce_milvus:19530
|
||||||
ports:
|
|
||||||
- "19531:3000" # 浏览器访问端口
|
|
||||||
networks:
|
networks:
|
||||||
- ce_network
|
- ce_network
|
||||||
|
ports:
|
||||||
|
- "3000:3000" # 浏览器访问端口
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- milvus
|
- milvus
|
||||||
|
|
||||||
# 定义数据卷
|
# ---------- Kong 网关 ----------
|
||||||
|
kong-migrations:
|
||||||
|
image: kong:3.9.1-ubuntu
|
||||||
|
container_name: ce_kong_migrations
|
||||||
|
command: kong migrations bootstrap
|
||||||
|
depends_on:
|
||||||
|
- postgres
|
||||||
|
environment:
|
||||||
|
<<: *kong-env
|
||||||
|
networks:
|
||||||
|
- ce_network
|
||||||
|
restart: on-failure
|
||||||
|
|
||||||
|
kong-migrations-up:
|
||||||
|
image: kong:3.9.1-ubuntu
|
||||||
|
container_name: ce_kong_migrations_up
|
||||||
|
command: kong migrations up && kong migrations finish
|
||||||
|
depends_on:
|
||||||
|
- postgres
|
||||||
|
environment:
|
||||||
|
<<: *kong-env
|
||||||
|
networks:
|
||||||
|
- ce_network
|
||||||
|
restart: on-failure
|
||||||
|
|
||||||
|
kong:
|
||||||
|
image: kong:3.9.1-ubuntu
|
||||||
|
container_name: ce_kong
|
||||||
|
user: kong
|
||||||
|
environment:
|
||||||
|
<<: *kong-env
|
||||||
|
KONG_ADMIN_ACCESS_LOG: /dev/stdout
|
||||||
|
KONG_ADMIN_ERROR_LOG: /dev/stderr
|
||||||
|
KONG_PROXY_ACCESS_LOG: /dev/stdout
|
||||||
|
KONG_PROXY_ERROR_LOG: /dev/stderr
|
||||||
|
KONG_PREFIX: /var/run/kong
|
||||||
|
|
||||||
|
KONG_PROXY_LISTEN: "0.0.0.0:8090" # 对外暴露端口
|
||||||
|
KONG_ADMIN_LISTEN: "0.0.0.0:8001" # Admin GUI
|
||||||
|
KONG_ADMIN_GUI_LISTEN: "0.0.0.0:8002"
|
||||||
|
ports:
|
||||||
|
- "8090:8090" # 代理端口对外
|
||||||
|
- "8001:8001/tcp"
|
||||||
|
- "8002:8002/tcp"
|
||||||
|
- "8444:8444/tcp"
|
||||||
|
volumes:
|
||||||
|
- kong_prefix_vol:${KONG_PREFIX:-/var/run/kong}
|
||||||
|
- kong_tmp_vol:/tmp
|
||||||
|
- ./config:/opt/kong
|
||||||
|
networks:
|
||||||
|
- ce_network
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
# ---------- 数据卷 ----------
|
||||||
volumes:
|
volumes:
|
||||||
postgres_data:
|
postgres_data:
|
||||||
redis_data:
|
redis_data:
|
||||||
minio_data:
|
minio_data:
|
||||||
ollama_data: # 定义 ollama 的数据卷
|
|
||||||
etcd_data:
|
etcd_data:
|
||||||
milvus_data:
|
milvus_data:
|
||||||
|
kong_prefix_vol:
|
||||||
|
driver_opts:
|
||||||
|
type: tmpfs
|
||||||
|
device: tmpfs
|
||||||
|
kong_tmp_vol:
|
||||||
|
driver_opts:
|
||||||
|
type: tmpfs
|
||||||
|
device: tmpfs
|
||||||
|
|
||||||
# 定义网络
|
# ---------- 网络 ----------
|
||||||
networks:
|
networks:
|
||||||
ce_network:
|
ce_network:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
Reference in New Issue
Block a user