Ingress-nginx 返回 503 到 app-root 路径

Ingress-nginx returning 503 to app-root path

我已经使用此 Ingress-Nginx-Doc 将入口 nginx 控制器部署到 Aws EKS 集群

问题:

---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: my-ingress
  namespace: mynamespace
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
spec:
  - path: /
      backend:
        serviceName: my-app
        servicePort: 7300

当我访问我的应用程序时。 http://load-balancer-url/ nginx 抛出 503.

[27/May/2020:15:27:40 +0000] "GET / HTTP/1.1" 503 600 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36" 662 0.000 [namespace-serviceName-7300] [] - - - - 21eb2db883548292ce20a71ddf45df99
W0527 15:39:07.037844       6 controller.go:909] Service "mynamespace/service" does not have any active Endpoint.

我是否遗漏了任何注释?

---
apiVersion: v1
kind: Service
metadata:
  name: my-app
  labels:
    app: my-app
spec:
  type: ClusterIP
  ports:
    - protocol : TCP
      port: 7300
      targetPort: 7300
  selector:
    name: my-app
    namespace: my-namespace

这里的问题是服务 my-appEndpoints 部分中有 none,它应该有 pods.

的 IP

参考 docs,您应该检查服务的 spec.selector 字段是否实际选择了 Pods 上的 metadata.labels 值。一个常见的错误是输入错误或其他错误,例如为 name=my-app 选择的服务,但 Deployment 指定了其他内容。