Error creating ingress/alb on EKS

Hi,
I’m trying to deploy sonarqube on EKS and am having issues with getting the ingress to create an alb.

sonarqube]$ kubectl describe ingress -n sonarqube
Name:             sonarqube-sonarqube
Labels:           app=sonarqube
                  app.kubernetes.io/managed-by=Helm
                  chart=sonarqube-10.2.1_800
                  heritage=Helm
                  release=sonarqube
Namespace:        sonarqube
Address:
Ingress Class:    alb
Default backend:  <default>
Rules:
  Host           Path  Backends
  ----           ----  --------
  sonar.qad.com
                 /   sonarqube-sonarqube:9000 ()
Annotations:     meta.helm.sh/release-name: sonarqube
                 meta.helm.sh/release-namespace: sonarqube
                 nginx.ingress.kubernetes.io/proxy-body-size: 64m
Events:
  Type     Reason             Age                 From     Message
  ----     ------             ----                ----     -------
  Warning  FailedDeployModel  39s (x14 over 83s)  ingress  Failed deploy model due to InvalidParameter: 1 validation error(s) found.
- minimum field value of 1, CreateTargetGroupInput.Port.

I don’t believe the nginx annotation is relevant here since I’m using the EKS provided ingress capability, but it wasn’t commented out in the values file by default so I left it.

Ingress config:

ingress:
  enabled: true
  # Used to create an Ingress record.
  hosts:
    - name: sonarqube.xxxxx.com
      # Different clouds or configurations might need /* as the default path
      path: /
      # For additional control over serviceName and servicePort
      #serviceName: sonarqube-sonarqube
      #servicePort: 9000
      # the pathType can be one of the following values: Exact|Prefix|ImplementationSpecific(default)
      pathType: ImplementationSpecific
  annotations:
  # kubernetes.io/tls-acme: "true"
  # This property allows for reports up to a certain size to be uploaded to SonarQube
    nginx.ingress.kubernetes.io/proxy-body-size: "64m"

  # Set the ingressClassName on the ingress record
  ingressClassName: alb

Any help is greatly appreciated.

I seemed to have resolved the issue by using a type LoadBalancer vs ClusterIP. However the alb that is provisioned is internal ip only and working through that. If anyone can help with that I’d much apreciate any guideance.

I do have my public subnets tagged with: kubernetes.io/role/elb value of 1
and private ones: kubernetes.io/role/internal-elb value of 1

1 Like

Figured this out in case anyone else has this issue in the future. Just had to add three annotations for the service: First one may not be requred but put it anyway:

   service.beta.kubernetes.io/aws-load-balancer-internal: "false"
    service.beta.kubernetes.io/aws-load-balancer-type: external
    service.beta.kubernetes.io/aws-load-balancer-scheme: "internet-facing"

1 Like

Dear @Andy_Rudeseal,

thanks for your investigation and inputs! I’m really glad you were able to solve this issue by yourself, we will reproduce the steps you followed and add more documentation accordingly in the context of this ticket.

Thanks!

2 Likes