-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Add support for VPC Endpoint Services #2636
Open
hintofbasil
wants to merge
21
commits into
kubernetes-sigs:main
Choose a base branch
from
hintofbasil:endpoint-service
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 12 commits
Commits
Show all changes
21 commits
Select commit
Hold shift + click to select a range
7db8509
Add models, managers, and synthesizers for VPC Endpoint Services
rifelpet 9ea9cf7
Add the Endpoint Service sythensizer and manager to the stack deployer
rifelpet a401b06
Add Endpoint Service annotations for parsing by the model
rifelpet f92ff42
Add support for VPC Endpoint Services
hintofbasil d76b990
Remove unneeded defaultEndpointServiceManager.ReconcileTags method
hintofbasil 1ea9b21
Add explanation to algorithm.DiffStringSlice
hintofbasil fd56852
Revert formatting only changes
hintofbasil ee9746b
Spelling: Principles -> Principals
hintofbasil 952618b
Fix typos
hintofbasil 3b637e7
Add PrivateLink permissions to IAM policy
hintofbasil 2eb51e8
Fix SG -> ES typos
hintofbasil 6ffe4f8
Add new mocks to gen_mocks.sh
hintofbasil 8977a63
Merge branch 'main' of github.com:kubernetes-sigs/aws-load-balancer-c…
hintofbasil a4ec005
Use gomock for MockProvider
hintofbasil 82c4cf8
Update VPCES annotations to be alpha
hintofbasil afa4b7e
Merge branch 'main' of github.com:kubernetes-sigs/aws-load-balancer-c…
hintofbasil a78b671
Merge branch 'main' of github.com:kubernetes-sigs/aws-load-balancer-c…
hintofbasil 80a68a8
Handle delete VPCEndpoint failures
hintofbasil c307458
Move VPCES creation and update to post synthesize
hintofbasil 20d2f18
Merge branch 'main' of github.com:kubernetes-sigs/aws-load-balancer-c…
hintofbasil 817935c
Merge branch 'main' of https://github.com/kubernetes-sigs/aws-load-ba…
hintofbasil File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -47,6 +47,10 @@ | |
| [service.beta.kubernetes.io/aws-load-balancer-target-node-labels](#target-node-labels) | stringMap | | | | ||
| [service.beta.kubernetes.io/aws-load-balancer-attributes](#load-balancer-attributes) | stringMap | | | | ||
| [service.beta.kubernetes.io/aws-load-balancer-manage-backend-security-group-rules](#manage-backend-sg-rules) | boolean | true | | | ||
| [service.beta.kubernetes.io/aws-load-balancer-endpoint-service-enabled](#endpoint-service-enable)| boolean | false | | | ||
| [service.beta.kubernetes.io/aws-load-balancer-endpoint-service-acceptance-required](#endpoint-service-acceptance)| boolean | | | | ||
| [service.beta.kubernetes.io/aws-load-balancer-endpoint-service-allowed-principals](#endpoint-allowed-principals)| stringList | | | | ||
| [service.beta.kubernetes.io/aws-load-balancer-endpoint-service-private-dns-name](#endpoint-private-dns)| string | | | | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What's the MergeBehavior of these new annotations? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not sure I understand the question. Could you clarify it? |
||
|
||
## Traffic Routing | ||
Traffic Routing can be controlled with following annotations: | ||
|
@@ -430,6 +434,17 @@ Load balancer access can be controlled via following annotations: | |
service.beta.kubernetes.io/aws-load-balancer-manage-backend-security-group-rules: "false" | ||
``` | ||
|
||
## VPC Endpoint Service | ||
A VPC Endpoint Service can be attached to a controlled loadbalancer via the following annotations: | ||
|
||
- <a name="endpoint-service-enable">`service.beta.kubernetes.io/aws-load-balancer-endpoint-service-enabled`</a> specifies whether to create a VPC Endpoint Service or not. The `--enable-endpoint-service` flag must also be set. | ||
|
||
- <a name="endpoint-service-acceptance">`service.beta.kubernetes.io/aws-load-balancer-endpoint-service-acceptance-required`</a> specifies whether requests to attach an Endpoint to the Endpoint Service require manual acceptance. | ||
|
||
- <a name="endpoint-allowed-principals">`service.beta.kubernetes.io/aws-load-balancer-endpoint-service-allowed-principals`</a> is a list of principals from which an Endpoint can be attached to this Endpoint Service. | ||
|
||
- <a name="endpoint-private-dns">`service.beta.kubernetes.io/aws-load-balancer-endpoint-service-private-dns-name`</a> is the private DNS name given to the Endpoint Service. This will need to be verified through a valid DNS record. | ||
|
||
## Legacy Cloud Provider | ||
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 is `nlb-ip` or `external`, 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. | ||
|
||
|
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
New annotations shouldn't really contain “beta” in their names (see Kubernetes API design docs).
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.
There have been updated to be alpha instead of beta.