-
Notifications
You must be signed in to change notification settings - Fork 1.5k
chore: clarify how to get internal NLB #2356
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Adding clarifications about the current annotation "service.beta.kubernetes.io/aws-load-balancer-type: external" as it sounds confusing and does not show that an "internal" NLB can be achieved using that type.
Welcome @froblesmartin! |
Hi @froblesmartin. Thanks for your PR. I'm waiting for a kubernetes-sigs 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. Instructions 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/test-infra repository. |
docs/guide/service/annotations.md
Outdated
- For `nlb-ip` type, controller will provision NLB with IP targets. This value is supported for backwards compatibility | ||
- For `external` type, NLB target type depend on the annotation [nlb-target-type](#nlb-target-type) | ||
- For `nlb-ip` type, controller will provision NLB with IP targets. This value is supported for backwards compatibility, but it is deprecated. | ||
- For `external` type, NLB target type depend on the annotation [nlb-target-type](#nlb-target-type). If used in combination with [lb-scheme](#lb-scheme) set to internal, it will provision an internal NLB. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for contributing this.
I think maybe - [Deprecated] `nlb-ip` type, controller will provision NLB with IP targets. This value is supported for backwards compatibility
BTW, it feels a weird to mention lb-scheme here as it have it's own section. and internal NLB is the default mode if lb-scheme is not specified after all.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1st thing 👍
About the lb-scheme, I just wanted to highlight that "external" allows to use "internal" LBs. That's what happened to me, I did not try to use the external type because I thought that would only provision an internet-facing LB 😅
Maybe if not a note in the lb-scheme clarifying that it can be used with the "external" type?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@froblesmartin
I understand your confusing now. it's a valid point. I think maybe add a separate tip section like
!!!tip
This annotation specifies the controller used to provision LoadBalancers. Refer to [lb-scheme](#lb-scheme) to specify whether the LoadBalancer is public-facing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
btw, this annotation itself will be deprecated soon as well, we'll use new spec.ServiceClass in the future instead of service.beta.kubernetes.io/aws-load-balancer-type
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good to know! 😄 I have changed it to the tip, and as well reduced the last part just to clarify that this controller can provision any NLB+Target Group configuration.
Codecov Report
@@ Coverage Diff @@
## main #2356 +/- ##
=======================================
Coverage 54.19% 54.19%
=======================================
Files 136 136
Lines 7702 7702
=======================================
Hits 4174 4174
Misses 3212 3212
Partials 316 316 Continue to review full report at Codecov.
|
Co-authored-by: Steven E. Harris <[email protected]>
@M00nF1sh what would be missing to approve and merge this? Should I do something else? Thank you! |
docs/guide/service/annotations.md
Outdated
|
||
!!!note "" | ||
With the right combination of annotations any Network Load Balancer and Target Group configuration can be provisioned with this controller. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This note doesn't provide additional information. Lets remove it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The AWS Load Balancer Controller manages Kubernetes Services in a compatible way with the legacy aws cloud provider. The annotation
service.beta.kubernetes.io/aws-load-balancer-type
is used to determine which controller reconciles the service. If the annotation value isnlb-ip
orexternal
, legacy cloud provider ignores the service resource (provided it has the correct patch) so that the AWS Load Balancer controller can take over. For all other values of the annotation, the legacy cloud provider will handle the service. Note that this annotation should be specified during service creation and not edited later.
As with the rest of the changes, right after reading that paragraph, I assumed that the new controller can not manage an internal load balancer with instance target type. If you are not okay adding that note, maybe I could rewrite that paragraph to make that clearer?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sounds better
@froblesmartin, I will remove the note from the end of this document and commit the rest of the changes. Once we publish the new live docs, feel free to raise a separate PR for additional changes. |
Co-authored-by: Steven E. Harris <[email protected]>
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: froblesmartin, kishorj The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
* chore: specify how to get classic nlb type Adding clarifications about the current annotation "service.beta.kubernetes.io/aws-load-balancer-type: external" as it sounds confusing and does not show that an "internal" NLB can be achieved using that type. * Move deprecation note to line start * add tip about provisioning internal lb * fix: only nlb can be provisioned * chore: change to Internet-facing Co-authored-by: Steven E. Harris <[email protected]> * Update docs/guide/service/annotations.md * Update docs/guide/service/annotations.md * Update docs/guide/service/annotations.md Co-authored-by: Steven E. Harris <[email protected]> Co-authored-by: Steven E. Harris <[email protected]> Co-authored-by: Kishor Joshi <[email protected]>
Issue
#2350
Description
Adding clarifications about the current annotation "service.beta.kubernetes.io/aws-load-balancer-type: external" as it sounds confusing and does not show that an "internal" NLB can be achieved using that type.
BONUS POINTS checklist: complete for good vibes and maybe prizes?! 🤯