fix_ingress.sh 1.72 KB
# 删除现有的 Ingress
kubectl delete ingress frontend-ingress api-ingress -n ecommerce 2>/dev/null || true

# 创建完整的 Ingress 配置
kubectl apply -f - <<EOF
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ecommerce-ingress
  namespace: ecommerce
  annotations:
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: ip
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS": 443}]'
    alb.ingress.kubernetes.io/ssl-redirect: '443'
    alb.ingress.kubernetes.io/healthcheck-path: /
    alb.ingress.kubernetes.io/healthcheck-port: '8080'
    alb.ingress.kubernetes.io/success-codes: '200,302,404'
    kubernetes.io/ingress.class: alb
spec:
  rules:
  - host: awsmpc.asia
    http:
      paths:
      # 前端路由
      - path: /
        pathType: Prefix
        backend:
          service:
            name: frontend-service
            port:
              number: 8080
      # API 路由 - 用户服务
      - path: /api/users
        pathType: Prefix
        backend:
          service:
            name: user-service
            port:
              number: 8080
      # API 路由 - 产品服务
      - path: /api/products
        pathType: Prefix
        backend:
          service:
            name: product-service
            port:
              number: 8080
      # API 路由 - 订单服务
      - path: /api/orders
        pathType: Prefix
        backend:
          service:
            name: order-service
            port:
              number: 8080
      # Actuator 健康检查路由
      - path: /api/actuator
        pathType: Prefix
        backend:
          service:
            name: user-service
            port:
              number: 8080
EOF