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