feat: 三种部署方式全部验证通过
方案1: docker-compose 双容器(原有,不变) 方案2: 二进制部署(go:embed 前端嵌入) - 修复 SPA fallback(c.FileFromFS 301 → c.Data 直接返回) - 二进制 22MB,内存 21.5MB - 支持全部 CLI 参数(--db-host --redis-host --port 等) 方案3: K8s 部署(hostNetwork + 外部 MySQL/Redis) - devops 声明空间 - embed 单容器 Deployment + NodePort Service - 健康检查改为 /version(/health 尚未实现) - hostNetwork 解决 K8s pod 网络到外部 MySQL 的连通性 新增: Dockerfile.embed, docker-compose.embed.yml, deploy/binary/
This commit is contained in:
1 parent
4631b02f13
commit
2a0521340f
15 files changed
+734
-488
No files matched your search
+8
-28
@@ -1,9 +1,9 @@
|
||||
# ingress.yaml — Ingress 入口路由 (nginx-ingress)
|
||||
# ----------------------------------------------------------------------------
|
||||
# 路由规则:
|
||||
# /api/* -> aiops-backend:8080 (后端 API)
|
||||
# /ws/* -> aiops-backend:8080 (WebSocket 长连接)
|
||||
# / -> aiops-backend:80 (go:embed 前端 SPA)
|
||||
# 路由规则 (embed 模式: 所有流量 → aiops:8080):
|
||||
# /api/* -> aiops:8080 (后端 API)
|
||||
# /ws/* -> aiops:8080 (WebSocket 长连接)
|
||||
# / -> aiops:8080 (go:embed 前端 SPA)
|
||||
#
|
||||
# 前提: 集群已安装 nginx Ingress Controller。
|
||||
# 部署前请修改 host (aiops.local) 与 ingressClassName 为实际值。
|
||||
@@ -18,42 +18,22 @@ metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: aiops
|
||||
annotations:
|
||||
# WebSocket 长连接支持(/ws)
|
||||
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
|
||||
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
|
||||
# 文件上传大小(与后端 upload.max_size 配合)
|
||||
nginx.ingress.kubernetes.io/proxy-body-size: "100m"
|
||||
# 显式转发 WebSocket 升级头
|
||||
nginx.ingress.kubernetes.io/configuration-snippet: |
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
spec:
|
||||
ingressClassName: nginx # 按集群实际 IngressClass 调整
|
||||
ingressClassName: nginx
|
||||
rules:
|
||||
- host: aiops.local # TODO: 修改为实际访问域名
|
||||
- host: aiops.local
|
||||
http:
|
||||
paths:
|
||||
# ---- API ----
|
||||
- path: /api
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: aiops-backend
|
||||
port:
|
||||
number: 8080
|
||||
# ---- WebSocket ----
|
||||
- path: /ws
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: aiops-backend
|
||||
port:
|
||||
number: 8080
|
||||
# ---- 前端 (go:embed, 默认兜底) ----
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: aiops-backend
|
||||
name: aiops
|
||||
port:
|
||||
number: 80
|
||||
number: 8080
|
||||
Reference in new issue
Block a user