Aws Load balancer controller not creating load balancer on applying ingress

639 Views Asked by At

I manage to successfully install aws load balancer controller on eks cluster and it is giving following output on issuing command

kubectl get deployment -n kube-system aws-load-balancer-controller 
NAME                           READY   UP-TO-DATE   AVAILABLE   AGE
aws-load-balancer-controller   2/2     2            2           42m

But when I am applying ingress No load balancer is created.

Ingress configuration

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: q-ingress
  annotations:
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: ip
    alb.ingress.kubernetes.io/healthcheck-path: /healthz
    alb.ingress.kubernetes.io/load-balancer-name: silq-alb
spec:  
  tls:
  - hosts:
    - test.ones.com
  rules:
    - host: q.test.ones.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: q-service
                port:
                  number: 3000
    - host: s.test.ones.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: p-service
                port:
                  number: 3000

Output on

kubectl get ingress


 NAME                      CLASS    HOSTS                                            ADDRESS   PORTS     AGE
q-ingress           <none>   q.test.ones.com,s.test.ones.com             80, 443   163m

Any help is appreciated. I am expecting some load balancer url should come under Address field.

1

There are 1 best solutions below

0
On

The most common problem when that happens is you don't have tags on your subnets, https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.1/deploy/subnet_discovery/

If you have tagged the resources, check for IAM, the permissions are documented here https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.1/deploy/installation/#setup-iam-role-for-service-accounts

The third most common option is error installing, if you used yaml files make sure you installed also the cert manager.