Fix hairpinning traffic on internal NLB by introducing TG attribute reconciler#1214
Conversation
|
This issue is currently awaiting triage. If cloud-provider-aws contributors determine this is a relevant issue, they will accept it by applying the The DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
Hi @mtulio. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
/ok-to-test |
9b21dd2 to
8c18565
Compare
|
/test all |
|
timeouts /test pull-cloud-provider-aws-e2e |
8c18565 to
bf23dea
Compare
|
PR #1215 merged. Rebased. Re-testing. /test pull-cloud-provider-aws-e2e |
0e5e2d0 to
19ef6f3
Compare
|
HI @elmiko and @kmala , PR updated with suggestions to remove disruptions. I also updated the releate notes. Would you mind taking a look? |
Introduce the target group annotation[1] for all listeners on a Service type-loadBalancer NLB. [1] Annotation service.beta.kubernetes.io/aws-load-balancer-target-group-attributes The annotation provides a interface for users to opt into non-default configurations of a target group when creating or updating a Service. This change also provides a fix for a critical hairpin bug impacting NLB default configuration (using target type instance), which disables the 'preserve source ip configuration' attribute, leading to timeouts in such scenario.
19ef6f3 to
73428cd
Compare
elmiko
left a comment
There was a problem hiding this comment.
i think this is looking good for me
/lgtm
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: kmala The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
…ontroller Added permission to IAM managed policy for control plane controllers affecting a specific case where it is required to reconcile the NLB target group. The behavior is added after the fix on kubernetes/cloud-provider-aws#1214
…ontroller Added permission to IAM managed policy for control plane controllers affecting a specific case where it is required to reconcile the NLB target group. The behavior is added after the fix on kubernetes/cloud-provider-aws#1214
…ontroller Added permission to IAM managed policy for control plane controllers affecting a specific case where it is required to reconcile the NLB target group. The behavior is added after the fix on kubernetes/cloud-provider-aws#1214
Added permission to IAM managed policy for control plane controllers affecting a specific case where it is required to reconcile the NLB target group. The behavior is added after the fix on kubernetes/cloud-provider-aws#1214 OCPBUGS-65885: regenerate delegating AWS client for new ELBv2 permissions
Added permission to IAM managed policy for control plane controllers affecting a specific case where it is required to reconcile the NLB target group. The behavior is added after the fix on kubernetes/cloud-provider-aws#1214 OCPBUGS-65885
…stream-release-1.34 Automated cherry pick of #1214: doc/service: describe supported target group attributes
Added permission to IAM managed policy for control plane controllers affecting a specific case where it is required to reconcile the NLB target group. The behavior is added after the fix on kubernetes/cloud-provider-aws#1214 OCPBUGS-65885
Added permission to IAM managed policy for control plane controllers affecting a specific case where it is required to reconcile the NLB target group. The behavior is added after the fix on kubernetes/cloud-provider-aws#1214 OCPBUGS-65885
-#1215-#1217-#1214-upstream-release-1.33 Automated cherry pick of #1153: e2e/deps: enhance test scenarios with NLB #1161: e2e/loadbalancer: implement hairpin connection cases #1215: refact: e2e tests documenting hooks and enhance logging/steps #1217: e2e/debug: increase data collection on e2e failures #1214: doc/service: describe supported target group attributes
-#1215-#1217-#1214-upstream-release-1.32 Automated cherry pick of #1153: e2e/deps: enhance test scenarios with NLB #1161: e2e/loadbalancer: implement hairpin connection cases #1215: refact: e2e tests documenting hooks and enhance logging/steps #1217: e2e/debug: increase data collection on e2e failures #1214: doc/service: describe supported target group attributes
-#1215-#1217-#1214-upstream-release-1.31 Automated cherry pick of #1153: e2e/deps: enhance test scenarios with NLB #1161: e2e/loadbalancer: implement hairpin connection cases #1215: refact: e2e tests documenting hooks and enhance logging/steps #1217: e2e/debug: increase data collection on e2e failures #1214: doc/service: describe supported target group attributes
Added permission to read and write/modify Target Group Attributes on clusters of cloud-provider-aws (CCM) project. The modify permission is conditional for targget clusters. This permission is required to be able to test the new requirement, modify target group attributes, through e2e CI clusters. More information: kubernetes/cloud-provider-aws#1214 Example of CI job without this permission: https://prow.k8s.io/view/gs/kubernetes-ci-logs/pr-logs/pull/cloud-provider-aws/1214/pull-cloud-provider-aws-e2e/1948477553773645824 Signed-off-by: Arnaud Meukam <ameukam@gmail.com>
What type of PR is this?
/kind bug
/kind documentation
/kind failing-test
/kind feature
What this PR does / why we need it:
This PR introduces the annotation to allow users to configure the target group attributes. This configuration is required to fix the hairpinning traffic affecting internal NLB on the default configurations (target type instance).
The proposal introduce Target Group configuration flexibility only for the following attributes for annotation
service.beta.kubernetes.io/aws-load-balancer-target-group-attributesas those are required to fix the hairpinning traffic:preserve_client_ip.enabledproxy_protocol_v2.enabledDone checklist:
Which issue(s) this PR fixes:
Fixes #1160
Special notes for your reviewer:
The proposal is not disruptive and will follow the user's explicitly configuration, which means will not change target group attributes from existing services when the new annotation is not added.
Additional discussion int the Slack on kube namespace: https://kubernetes.slack.com/archives/C0LRMHZ1T/p1755530062752269
In conformance with the k8s review policy: this PR has been assisted by: Cursor AI (PR review, documentation strings, and unit tests)
Does this PR introduce a user-facing change?: