goharbor/harbor-helm

Fresh install getting 502 error

nicl-dev opened this issue · 3 comments

Hey everyone,

we freshly installed the most recent chart version 1.13.1 today. Unfortunately we can't make TLS work for some reason. We set the following values:

expose:
  ingress:
    className: nginx
    hosts:
      core: harbor.dev.xxx.link
    annotations:
      cert-manager.io/cluster-issuer: letsencrypt-dev
      kubernetes.io/tls-acme: "true"
      nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
  tls:
    certSource: secret
    secret:
      secretName: harbor-ingress-tls-secret
externalURL: https://harbor.dev.xxx.link

According to Argo everything is fine, however the services don't seem to serve port 443 and when browsing https://harbor.dev.xxx.link we do get a 502 bad gateway error.

NAME                TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE
harbor-core         ClusterIP   10.100.60.193    <none>        80/TCP              6m41s
harbor-database     ClusterIP   10.100.95.136    <none>        5432/TCP            6m41s
harbor-jobservice   ClusterIP   10.100.209.137   <none>        80/TCP              6m41s
harbor-portal       ClusterIP   10.100.8.251     <none>        80/TCP              6m41s
harbor-redis        ClusterIP   10.100.22.137    <none>        6379/TCP            6m41s
harbor-registry     ClusterIP   10.100.136.200   <none>        5000/TCP,8080/TCP   6m41s
harbor-trivy        ClusterIP   10.100.35.160    <none>        8080/TCP            6m41s

Can someone help us out here? I checked the default values multiple time but can't find the error.

Hi @nicl-dev , I'm assuming your expose.type is ingress. Could you please share the output of the following command:

kubectl get svc -o wide -n <ingress-controller-namespace>

Please mask the sensitive info.

Could you please also share with us the logs of ingress-controller pod?

How do you set up your k8s cluster? And how do you install the nginx-ingress controller?

Thanks for your response. We ran into the 502 cause we set the backend-protocol annotation to HTTPS. We fixed it by setting nginx.ingress.kubernetes.io/backend-protocol: "HTTP", then providing everything needed for internalTLS and then re-enabling HTTPS.