<p>I'm trying to run a Metabase deployment in an existing, working, EKS kubernetes cluster, but keep getting 503 Service Temporarily Unavailable.</p>
<p>The pod is running, the ports seem to be assigned correctly and I have an Application Load balancer running and forwarded to the metabase service.</p>
<p>Service:</p>
<pre><code>apiVersion: v1
kind: Service
metadata:
  name: metabase-service
  namespace: default
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 3000
  selector:
    app: metabase
  type: ClusterIP
</code></pre>
<p>Deployment</p>
<pre><code>apiVersion: apps/v1
kind: Deployment
metadata:
  generation: 1
  labels:
    deployment: metabase
  name: metabase
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: metabase
  template:
    metadata:
      labels:
        app: metabase
    spec:
      containers:
      - name: metabase
        image: metabase/metabase
        imagePullPolicy: Always
        ports:
        - containerPort: 3000
          protocol: TCP
</code></pre>
<p>Ingress</p>
<pre><code>apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-ingress
  namespace: default
spec:
  ingressClassName: alb
  rules:
  - host: staging.my-app.nl
    http:
      paths:
      - backend:
          service:
            name: my-app-service
            port:
              number: 80
        path: /
        pathType: Prefix
  - host: metabase.my-app.nl
    http:
      paths:
      - backend:
          service:
            name: metabase-service
            port:
              number: 80
        path: /
        pathType: Prefix
  tls:
  - hosts:
    - staging.my-app.nl
    secretName: myapp-certs-2022
  - hosts:
    - metabase.my-app.nl
    secretName: myapp-certs-2022
</code></pre>
<p>output from kubectl get ingress
NAME            CLASS   HOSTS                                        ADDRESS                                                                     PORTS     AGE</p>
<pre><code>my-ingress   alb     staging.my-app.nl,metabase.my-app.nl   k8s-default-my-app-12334444444.eu-central-1.elb.amazonaws.com   80, 443   206d
</code></pre>
<p>output from kubectl get svc</p>
<pre><code>metabase       ClusterIP   10.100.127.227   &lt;none&gt;        80/TCP   56m
</code></pre>
<p>The single pod is running and logs show no errors.</p>
<p>The rest of the cluster and services are working without issues.</p>
<p>Can anyone point me in a direction as to why my service seems to be unavailable?</p>

Gijsriet
<p>In the logs of the aws-loadbalancer-controller I found:</p>
<pre><code>&quot;error&quot;:&quot;ResourceInUse: Listener port '80' is in use by registered target
</code></pre>
<p>With the help of this <a href="https://medium.com/@philipdam8/using-a-single-alb-ingress-across-multiple-kubernetes-namespaces-556df9b51f80" rel="nofollow noreferrer">article</a> I learned you can share multiple ingresses with one ALB as long as you give them the same group name.</p>
<pre><code>alb.ingress.kubernetes.io/group.name
</code></pre>
<p>So I moved all resources of the new app (Metabase) to a new namespace, added an extra ingress and to both ingresses added a group name like this:</p>
<pre><code>apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: ip
    alb.ingress.kubernetes.io/group.name: dev
</code></pre>
<p>For me it did start up a new loadbalancer for the groupname, so I had to delete the old one.</p>
