containers-roadmap icon indicating copy to clipboard operation
containers-roadmap copied to clipboard

[EKS] [aws-load-balancer-controller]: v2.4.3

Open parjun8840 opened this issue 2 years ago • 1 comments

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Tell us about your request Not able to created Public facing ALB from the Ingress resource.

Which service(s) is this request for? EKS

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard? Not able to created Public facing ALB from the Ingress resource.

I am using below configuration ( sharing a snippet of it)-

apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: ingress-teamsnamebase annotations: # Load Balancer Name alb.ingress.kubernetes.io/load-balancer-name: teamsnamebase-ingress # Ingress Core Settings alb.ingress.kubernetes.io/scheme: internet-facing # Health Check Settings alb.ingress.kubernetes.io/healthcheck-protocol: HTTP alb.ingress.kubernetes.io/healthcheck-port: traffic-port #Important Note: Need to add health check path annotations in service level if we are planning to use multiple targets in a load balancer
alb.ingress.kubernetes.io/healthcheck-interval-seconds: '15' alb.ingress.kubernetes.io/healthcheck-timeout-seconds: '5' alb.ingress.kubernetes.io/success-codes: '200' alb.ingress.kubernetes.io/healthy-threshold-count: '2' alb.ingress.kubernetes.io/unhealthy-threshold-count: '2'
## SSL Settings alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}, {"HTTP":80}]' alb.ingress.kubernetes.io/certificate-arn: my cert-------arn.....com #alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS-1-1-2017-01 # SSL Redirect Setting alb.ingress.kubernetes.io/ssl-redirect: '443' # External DNS - For creating a Record Set in Route53 external-dns.alpha.kubernetes.io/hostname: my.example.com spec: ingressClassName: example-aws-ingress-class # Ingress Class
defaultBackend: service: name: myapp-service port: number: 80

But when I describe the ingress it says- kubectl describe ingress

Failed build model due to couldn't auto-discover subnets: unable to discover at least one subnet

I also had my subnets tagged with - "kubernetes.io/role/elb" set to "1". As mentioned here in this document.

What is the impact of not having this problem solved? ALB won't be created from the ingress resource definition.

Are you currently working around this issue? Nope, I am done after hours of struggling :-) . I found a way around.

How are you currently solving this problem? I have set the subnets annotations while creating the resource.

alb.ingress.kubernetes.io/subnets: subnet-xxxxxxxx, subnet-yyyyyy

.

Additional context I agree it is specified in this document- https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/guide/ingress/annotations/#subnets

  • [ ] The "subnets" field is not mentioned as mandatory

  • [ ] This solution is not a doable/scalable solution as one has to remember each environments public/private subnets. It should be auto discoverable

  • [ ] EKS version: eks.5

  • [ ] Kubernetes version: 1.22

  • [ ] aws-load-balancer-controller: v2.4.3

parjun8840 avatar Aug 24 '22 01:08 parjun8840

This seems to be a bug/flaw in the documentation , please fix it before someone else also suffers :-)

parjun8840 avatar Sep 02 '22 03:09 parjun8840

Closing this issue as it was more of related to documentation which is fixed now.

parjun8840 avatar Oct 12 '22 08:10 parjun8840