Description
Describe the bug
Service Annotations documentation states the following for annotation "service.beta.kubernetes.io/aws-load-balancer-healthcheck-timeout"
The controller currently ignores the timeout configuration due to the limitations on the AWS NLB. The default timeout for TCP is 10s and HTTP is 6s.
As per AWS NLB documentation https://docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-health-checks.html#health-check-settings
HealthCheckTimeoutSeconds : The amount of time, in seconds, during which no response from a target means a failed health check. The range is 2–120 seconds. The default values are 6 seconds for HTTP and 10 seconds for TCP and HTTPS health checks.
As per the AWS load balancer controller documentation https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.8/deploy/configurations/ the feature gate NLBHealthCheckAdvancedConfiguration
should be enabled or disabled
to set advanced health check configuration for NLB, for example health check timeout.
Steps to reproduce
- Using the service annotations it is possible to set the timeout value to a different value than default as specified in the NLB documentation.
Expected outcome
Update the AWS LBC documentation to reflect the latest information regarding the usage of service.beta.kubernetes.io/aws-load-balancer-healthcheck-timeout
and confirm if controller currently ignores the timeout configuration due to the limitations on the AWS NLB. If yes, please update the documentation with the limitations.
Environment
- AWS Load Balancer controller version: v2.8
- Kubernetes version: 1.29
- Using EKS (yes/no), if so version? Yes. 1.29