K8s 入口 socket.io 503

K8s ingress socket.io 503

我在带有 ELB 的 EKS 上有一个带有 socket.io 应用 运行 的 Nodejs。我已经使用以下 yaml 配置了一个入口。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-prod
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/websocket-services: ws-gateway
    nginx.org/websocket-services: ws-gateway
  name: web-socket
  namespace: default
spec:
  defaultBackend:
    service:
      name: ws-gateway
      port:
        number: 9090
  rules:
  - host: ws.example.com
    http:
      paths:
      - backend:
          service:
            name: ws-gateway
            port:
              number: 9090
        path: /
        pathType: Prefix
  tls:
  - hosts:
    - ws.example.com
    secretName: ws-tls

但是,在测试时我收到 503 Service Temporarily Unavailable。域名和服务名及端口正确。请求也未到达应用程序。

配置中是否缺少某些内容?

问题出在服务端。由于与某些其他服务的连接丢失,容器意外重新启动,每次我尝试访问它时都会导致 503。