195 lines
5.4 KiB
YAML
195 lines
5.4 KiB
YAML
|
|
apiVersion: networking.k8s.io/v1
|
|||
|
|
kind: Ingress
|
|||
|
|
metadata:
|
|||
|
|
name: wms-ingress
|
|||
|
|
namespace: wms-system
|
|||
|
|
labels:
|
|||
|
|
app: cpte-wms
|
|||
|
|
annotations:
|
|||
|
|
# 使用 Nginx Ingress Controller
|
|||
|
|
kubernetes.io/ingress.class: "nginx"
|
|||
|
|
|
|||
|
|
# 重写目标路径(根据后端服务需要配置)
|
|||
|
|
nginx.ingress.kubernetes.io/rewrite-target: /$2
|
|||
|
|
|
|||
|
|
# SSL 重定向
|
|||
|
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
|||
|
|
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
|
|||
|
|
|
|||
|
|
# 代理配置
|
|||
|
|
nginx.ingress.kubernetes.io/proxy-body-size: "50m"
|
|||
|
|
nginx.ingress.kubernetes.io/proxy-connect-timeout: "60"
|
|||
|
|
nginx.ingress.kubernetes.io/proxy-send-timeout: "60"
|
|||
|
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "60"
|
|||
|
|
nginx.ingress.kubernetes.io/proxy-buffer-size: "128k"
|
|||
|
|
nginx.ingress.kubernetes.io/proxy-buffers-number: "4"
|
|||
|
|
|
|||
|
|
# 限流配置(可选)
|
|||
|
|
# nginx.ingress.kubernetes.io/limit-rps: "100"
|
|||
|
|
# nginx.ingress.kubernetes.io/limit-connections: "10"
|
|||
|
|
|
|||
|
|
# CORS 配置(跨域)
|
|||
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|||
|
|
nginx.ingress.kubernetes.io/cors-allow-origin: "*"
|
|||
|
|
nginx.ingress.kubernetes.io/cors-allow-methods: "PUT, GET, POST, DELETE, PATCH, OPTIONS"
|
|||
|
|
nginx.ingress.kubernetes.io/cors-allow-headers: "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization"
|
|||
|
|
nginx.ingress.kubernetes.io/cors-allow-credentials: "true"
|
|||
|
|
nginx.ingress.kubernetes.io/cors-max-age: "1728000"
|
|||
|
|
|
|||
|
|
# 健康检查
|
|||
|
|
nginx.ingress.kubernetes.io/health-check-path: "/actuator/health"
|
|||
|
|
nginx.ingress.kubernetes.io/health-check-interval: "30s"
|
|||
|
|
nginx.ingress.kubernetes.io/health-check-timeout: "5s"
|
|||
|
|
|
|||
|
|
# 会话保持(可选)
|
|||
|
|
# nginx.ingress.kubernetes.io/affinity: "cookie"
|
|||
|
|
# nginx.ingress.kubernetes.io/session-cookie-name: "WMSSESSION"
|
|||
|
|
# nginx.ingress.kubernetes.io/session-cookie-hash: "sha1"
|
|||
|
|
spec:
|
|||
|
|
ingressClassName: nginx
|
|||
|
|
tls:
|
|||
|
|
- hosts:
|
|||
|
|
- wms.yourcompany.com
|
|||
|
|
secretName: wms-tls-secret # 需要提前创建 TLS Secret
|
|||
|
|
rules:
|
|||
|
|
- host: wms.yourcompany.com
|
|||
|
|
http:
|
|||
|
|
paths:
|
|||
|
|
# 基础服务
|
|||
|
|
- path: /api/wms/basic(/|$)(.*)
|
|||
|
|
pathType: Prefix
|
|||
|
|
backend:
|
|||
|
|
service:
|
|||
|
|
name: wms-basic-service
|
|||
|
|
port:
|
|||
|
|
number: 80
|
|||
|
|
|
|||
|
|
# 入库服务
|
|||
|
|
- path: /api/wms/inbound(/|$)(.*)
|
|||
|
|
pathType: Prefix
|
|||
|
|
backend:
|
|||
|
|
service:
|
|||
|
|
name: wms-inbound-service
|
|||
|
|
port:
|
|||
|
|
number: 80
|
|||
|
|
|
|||
|
|
# 出库服务
|
|||
|
|
- path: /api/wms/outbound(/|$)(.*)
|
|||
|
|
pathType: Prefix
|
|||
|
|
backend:
|
|||
|
|
service:
|
|||
|
|
name: wms-outbound-service
|
|||
|
|
port:
|
|||
|
|
number: 80
|
|||
|
|
|
|||
|
|
# 库存服务
|
|||
|
|
- path: /api/wms/inventory(/|$)(.*)
|
|||
|
|
pathType: Prefix
|
|||
|
|
backend:
|
|||
|
|
service:
|
|||
|
|
name: wms-inventory-service
|
|||
|
|
port:
|
|||
|
|
number: 80
|
|||
|
|
|
|||
|
|
# 调度服务
|
|||
|
|
- path: /api/wms/schedule(/|$)(.*)
|
|||
|
|
pathType: Prefix
|
|||
|
|
backend:
|
|||
|
|
service:
|
|||
|
|
name: wms-schedule-service
|
|||
|
|
port:
|
|||
|
|
number: 80
|
|||
|
|
|
|||
|
|
# Swagger/Knife4j 文档
|
|||
|
|
- path: /doc.html
|
|||
|
|
pathType: Prefix
|
|||
|
|
backend:
|
|||
|
|
service:
|
|||
|
|
name: wms-inbound-service
|
|||
|
|
port:
|
|||
|
|
number: 80
|
|||
|
|
|
|||
|
|
# Actuator 监控端点(建议限制访问 IP)
|
|||
|
|
- path: /actuator(/|$)(.*)
|
|||
|
|
pathType: Prefix
|
|||
|
|
backend:
|
|||
|
|
service:
|
|||
|
|
name: wms-inbound-service
|
|||
|
|
port:
|
|||
|
|
number: 80
|
|||
|
|
---
|
|||
|
|
# HTTP 版本(不带 HTTPS,用于测试环境)
|
|||
|
|
apiVersion: networking.k8s.io/v1
|
|||
|
|
kind: Ingress
|
|||
|
|
metadata:
|
|||
|
|
name: wms-ingress-http
|
|||
|
|
namespace: wms-system
|
|||
|
|
labels:
|
|||
|
|
app: cpte-wms
|
|||
|
|
annotations:
|
|||
|
|
kubernetes.io/ingress.class: "nginx"
|
|||
|
|
nginx.ingress.kubernetes.io/rewrite-target: /$2
|
|||
|
|
nginx.ingress.kubernetes.io/proxy-body-size: "50m"
|
|||
|
|
nginx.ingress.kubernetes.io/proxy-connect-timeout: "60"
|
|||
|
|
nginx.ingress.kubernetes.io/proxy-send-timeout: "60"
|
|||
|
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "60"
|
|||
|
|
spec:
|
|||
|
|
ingressClassName: nginx
|
|||
|
|
rules:
|
|||
|
|
- host: wms-dev.yourcompany.com
|
|||
|
|
http:
|
|||
|
|
paths:
|
|||
|
|
# 基础服务
|
|||
|
|
- path: /api/wms/basic(/|$)(.*)
|
|||
|
|
pathType: Prefix
|
|||
|
|
backend:
|
|||
|
|
service:
|
|||
|
|
name: wms-basic-service
|
|||
|
|
port:
|
|||
|
|
number: 80
|
|||
|
|
|
|||
|
|
# 入库服务
|
|||
|
|
- path: /api/wms/inbound(/|$)(.*)
|
|||
|
|
pathType: Prefix
|
|||
|
|
backend:
|
|||
|
|
service:
|
|||
|
|
name: wms-inbound-service
|
|||
|
|
port:
|
|||
|
|
number: 80
|
|||
|
|
|
|||
|
|
# 出库服务
|
|||
|
|
- path: /api/wms/outbound(/|$)(.*)
|
|||
|
|
pathType: Prefix
|
|||
|
|
backend:
|
|||
|
|
service:
|
|||
|
|
name: wms-outbound-service
|
|||
|
|
port:
|
|||
|
|
number: 80
|
|||
|
|
|
|||
|
|
# 库存服务
|
|||
|
|
- path: /api/wms/inventory(/|$)(.*)
|
|||
|
|
pathType: Prefix
|
|||
|
|
backend:
|
|||
|
|
service:
|
|||
|
|
name: wms-inventory-service
|
|||
|
|
port:
|
|||
|
|
number: 80
|
|||
|
|
|
|||
|
|
# 调度服务
|
|||
|
|
- path: /api/wms/schedule(/|$)(.*)
|
|||
|
|
pathType: Prefix
|
|||
|
|
backend:
|
|||
|
|
service:
|
|||
|
|
name: wms-schedule-service
|
|||
|
|
port:
|
|||
|
|
number: 80
|
|||
|
|
|
|||
|
|
# Knife4j 文档
|
|||
|
|
- path: /doc.html
|
|||
|
|
pathType: Prefix
|
|||
|
|
backend:
|
|||
|
|
service:
|
|||
|
|
name: wms-inbound-service
|
|||
|
|
port:
|
|||
|
|
number: 80
|