Change:
<!-- Please use this template while reporting a bug and provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. Thanks! If the matter is security related, please disclose it privately via --What happened: Code for handling annotations for load balancer is executed only upon load balancer modification, not creation in all versions including master branch. So, for example, it's not possible to enable cross-zone load balancing upon creation. Only create-then-update process works. What you expected to happen: Annotations should be parsed both upon creation and update of load balancer Code, that parses annotations should be moved outside block or duplicated in block How to reproduce it (as minimally and precisely as possible): with: cross-zone load balancing will be off something in definition — CZLB will be on Environment: Kubernetes version (use ): 1.14.0—1.14.6, 1.15.0—1.15.3, master Cloud provider or hardware configuration: AWS
/sig aws
The label(s) cannot be appled. These labels are supported: <detailsIn response to : /sig aws Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
/sig platform/aws
The label(s) cannot be appled. These labels are supported: <detailsIn response to : /sig platform/aws Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
/sig cloud-provider
Issues go stale after 90d of inactivity. Mark the issue as fresh with . Stale issues rot after an additional 30d of inactivity and eventually close. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale
Stale issues rot after 30d of inactivity. Mark the issue as fresh with . Rotten issues close after an additional 30d of inactivity. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle rotten
/remove-lifecycle rotten
I experienced this recently with 1.14.9 on EKS. A newly created NLB ignored .
Experienced this with EKS 1.15 on EKS.
Can confirm this also appears on EKS 1.16
Can confirm this appears where using k8s 1.16 on kops. It would be phenomenal to get cross-zone load balancing and healthcheck configuration annotations available for the NLB load balancer types. Related:
For anyone stumbling on this same issue and trying to ensure high-availability before the annotation features are implemented, I have confirmed that you can enable cross-zone load balancing manually via the AWS console and it appears to remain resilient to future service changes. Additionally, I have done some preliminary testing with the passive health checks for NLBs and it appears clusters can remain resilient to pod failures (assuming redundant pods are available) due to the passive health checking built-in to NLBs.
Issues go stale after 90d of inactivity. Mark the issue as fresh with . Stale issues rot after an additional 30d of inactivity and eventually close. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale
/remove-lifecycle stale
/repoen
The health check fix merged in does not address this annotation when NLB is created The annotation is applied only during edits. This needs to be fixed, please reopen this issue.
Since (looking at the ) there is nowhere to include attributes in the parameter, I guess this just requires calling after the call, as is done after the block in the modification path. That suggests that this bug also affects the other , too.
I'm also running into this issue as well, I don't know why this issue has been closed.
It was closed because it was inaccurately marked as fixed by . Hopefully will land relatively quickly, and make it into the 1.20 release. Edit: has merged, will be fixed in Kubernetes 1.20.

Discussion:
return nil, fmt.Errorf("error creating listener: %q", err) } } <ins> if err := c.reconcileLBAttributes(aws.StringValue(loadBalancer.LoadBalancerArn), annotations); err != nil { return nil, err } </ins> } else { // TODO: Sync internal vs non-internal