# ingress.yaml — Ingress 入口路由 (nginx-ingress) # ---------------------------------------------------------------------------- # 路由规则: # /api/* -> aiops-backend:8080 (后端 API) # /ws/* -> aiops-backend:8080 (WebSocket 长连接) # / -> aiops-backend:80 (go:embed 前端 SPA) # # 前提: 集群已安装 nginx Ingress Controller。 # 部署前请修改 host (aiops.local) 与 ingressClassName 为实际值。 # 部署: kubectl apply -f ingress.yaml # ---------------------------------------------------------------------------- --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: aiops-ingress namespace: devops 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 调整 rules: - host: aiops.local # TODO: 修改为实际访问域名 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 port: number: 80