ALB targets not registered

0

I'm trying to use annotations on an Ingress to create an Application Load Balancer for a service in a private EKS cluster.

Here is a list of things that are true or I have tried

  • Everything runs on Fargate, I've registered a few different profiles for coredns, kube-system, cert-manager and default
  • I have the VPC-CNI, kube-proxy and coredns addons installed
  • I installed the cert-manager and ALB controller version 2.7.0 using kubectl apply. There are a couple of things that needed changing including running the cert-manager-webhook on port 10260, and adding region, vpc, cluster name and disabling shield and waf on the alb-controller manifest.
  • The service works, I can curl to the specific pod ip address and I get a successful response. I have tried multiple replicas and they all work.
  • The application load balancer is registered, listener rules created, and a target group is defined, but no targets are registered
  • I have also tried using annotations on the service as a loadbalancer instead of defining an ingress. A very similar thing happens, I get a load balancer, listener rules and a target group with no targets registered.
  • There are no errors, the targets are just not registered. The ingress reconciles fine and the logs on the alb controller show now errors.
  • If i manually register the targets, i can access the service just fine.

I am not sure what to try next.

已提問 3 個月前檢視次數 170 次
1 個回答
0

Are you using the ALB in ip mode? Use the Pod readiness gate. AWS Load Balancer controller supports Pod readiness gates to indicate that pod is registered to the ALB/NLB and healthy to receive traffic If a readiness gate doesn't get ready, you can check the reason via: kubectl get pod nginx-test-545d8f4d89-l7rcl -o yaml | grep -B7 'type: target-health'

see https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.1/deploy/pod_readiness_gate/

AWS
dov
已回答 3 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南