Search code examples
kuberneteskubernetes-ingressargocd

ArgoCD ingress is not reachable


I’m trying to set up argocd in EKS cluster using helm. I want to use ALB as a load balancer. The UI is reachable through http://node_ip:8080, but not through the ALB or the LB that was created.

Here is my configuration:

  ingress:
    enabled: true
    annotations:
      kubernetes.io/ingress.class: alb
      alb.ingress.kubernetes.io/backend-protocol: HTTPS
      alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
      alb.ingress.kubernetes.io/scheme: internal
      alb.ingress.kubernetes.io/target-type: IP
      alb.ingress.kubernetes.io/certificate-arn: "${cert}"
      alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-FS-1-2-Res-2020-10

Here is the ingress that was created:

kubectl get ing -n argocd

NAME            CLASS    HOSTS                         ADDRESS                                                          PORTS   AGE
argocd-server   <none>   eks-test-alb-argocd.abc.com   internal-k8s-argocd-argocdse-111.222.us-east-1.elb.amazonaws.com   80      9h

Here is what i get when trying to use the DNS or the LB address:

curl internal-k8s-argocd-argocdse-111-222.us-east-1.elb.amazonaws.com

<html>
<head><title>502 Bad Gateway</title></head>
<body>
<center><h1>502 Bad Gateway</h1></center>
</body>
</html>

What could be the issue?


Solution

  • Well, I have found the issue, and it was much simple than i thought.

    Since the pods are listening to port 80, all I had to do is to change the backend-protocol to HTTP. That's it.