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?
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.