Error in exposing multiple ports with ALB Ingress on EKS

Viewed 215

I have a Triton server on EKS listening on 3 ports, 8000 is for http requests, 8001 is for gRPC and 8002 is for prometheus metrics. So, I have created a Triton deployment on EKS which is exposed through NodePort service of EKS. I am also using ALB ingress which is creating an application load balancer to balance the load of Triton servers on these ports.

But, the traffic is not flowing correctly as it is showing same output for all the 3 ports but it should be different. So, now do I have to create 3 Application Load Balancers for 3 ports or is it possible to manage all ports with a single Application Load Balancer?

Yaml file for ALB Ingress looks like:-

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: triton
  annotations:
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: instance
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP":8000}, {"HTTP":8001}, {"HTTP":8002}]'
    alb.ingress.kubernetes.io/healthcheck-port: traffic-port
spec:
  ingressClassName: alb
  rules:
    - http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: triton
              port:
                number: 8000
    - http:
       paths:
       - path: /v2
         pathType: Prefix
         backend:
            service:
              name: triton
              port:
                number: 8001
    - http:
        paths:
        - path: /metrics
          pathType: Prefix
          backend:
            service:
              name: triton
              port:
                number: 8002
0 Answers
Related