Comments (16)
This is supported in k8s 1.16.0+ via the service.beta.kubernetes.io/aws-load-balancer-eip-allocations
annotation:
---
apiVersion: v1
kind: Service
metadata:
annotations:
# ...
service.beta.kubernetes.io/aws-load-balancer-eip-allocations: >-
eipalloc-0123456789abcdefg,
eipalloc-0123456789hijklmn,
eipalloc-0123456789opqrstu
service.beta.kubernetes.io/aws-load-balancer-type: nlb
name: test-service
spec:
selector:
app: test-service
externalTrafficPolicy: Local
ports:
# ...
type: LoadBalancer
from cloud-provider-aws.
Hi Nicholas @nckturner
Now I not able to verify this feature.
I will do it when start work with EKS again. So for now I close issue.
Thank you very much Nicholas
from cloud-provider-aws.
I would need this too.
To make sure my load balancer is always using the same ip, even if I destroy / respawn it. so I don't have to always edit a CNAME to point to another generated lb aws dns name
from cloud-provider-aws.
It seems that support for this did find its way into the in-tree cloud provider, but is missing from this out-of-tree provider. The original PR is here kubernetes/kubernetes#69263
@brooksgarrett it was your work originally got this support into the cloud provider, but it would seem to have got lost in the move to the separate repo. By the looks of things, the original work never made it into a non-alpha/beta release of Kubernetes. So, in a sense this is a feature, in another sense it is a nearly a regression.
I'm happy to open a PR that is shamelessly the original PR to the main kubernetes repo, but rejigged as best I can, or it might be simpler (and more honest) if @brooksgarrett were to do that, if they happen to have the time.
from cloud-provider-aws.
It was nearly a year from opening the PR to merge so I'm completely out of touch with the code base. I'll look when I have a moment and see if I can get it sorted.
from cloud-provider-aws.
Looking some more, might LoadBalancerIP
be a better place to specify this, see https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer
from cloud-provider-aws.
Looking for this feature as well to host our top-level domian proxy app on Kubernetes rather than a standalone server
from cloud-provider-aws.
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale
.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close
.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale
from cloud-provider-aws.
/remove-lifecycle stale
from cloud-provider-aws.
I'm confused, so you can specify an Elastic IP to associate with the service but not an existing Load Balancer's ARN? How does this solve the problem of reusing an existing Load Balancer?
from cloud-provider-aws.
I'm confused, so you can specify an Elastic IP to associate with the service but not an existing Load Balancer's ARN? How does this solve the problem of reusing an existing Load Balancer?
In AWS once a NLB is created you cannot change the subnets or assign an EIP. This is an aws limitation not k8
from cloud-provider-aws.
This is supported in k8s 1.16.0+ via the
service.beta.kubernetes.io/aws-load-balancer-eip-allocations
annotation:--- apiVersion: v1 kind: Service metadata: annotations: # ... service.beta.kubernetes.io/aws-load-balancer-eip-allocations: >- eipalloc-0123456789abcdefg, eipalloc-0123456789hijklmn, eipalloc-0123456789opqrstu service.beta.kubernetes.io/aws-load-balancer-type: nlb name: test-service spec: selector: app: test-service externalTrafficPolicy: Local ports: # ... type: LoadBalancer
@bfmiv
Sounds good.
What is the External IP assigned for the service?
If so how did you point in R53 just as a IPv4 address?
from cloud-provider-aws.
What is the External IP assigned for the service?
Will be used IP associated with this allocations
eipalloc-0123456789abcdefg,
eipalloc-0123456789hijklmn,
eipalloc-0123456789opqrstu
If so how did you point in R53 just as a IPv4 address?
You can resolve IP address using AWS API from IP allocation.
from cloud-provider-aws.
comment from @andrewsykim : kube-proxy will inject rules to take traffic for anything with "LoadBalancerIP" and will be routed internally.
Question as to whether this is intended behaviour, because of things like TLS termination or routing.
from cloud-provider-aws.
/assign
from cloud-provider-aws.
@sergey-safarov does the annotation mentioned above fit your use case? Should we close this issue?
from cloud-provider-aws.
Related Issues (20)
- Newly autoscaled worker-nodes not added to the targets of Network Loadbalancer. HOT 5
- Please ignore (created by mistake) HOT 3
- Fork the tagging controller into generic node customization controller HOT 3
- TalosOSv1.5.5: AWS CCM can't find the instance via the API so it can't configure the nodes in peer region HOT 5
- Website does not have the correct trademark disclaimer HOT 7
- GitHub repository does not link to the project website url HOT 5
- AWS CCM DockerFile build for more than one platform HOT 11
- cloud-provider-aws does not Prefer CLI Arguments for Configuring Kubernetes HOT 7
- Improve documentation HOT 6
- GitHub releases for latest tags missing HOT 5
- NLB does not map to manual EndpointSlice HOT 4
- label nodes with the name of the autoscaling group they belong to (if they belong to one) HOT 11
- Multiple ENIs is confusing cloud-provider-aws controller HOT 5
- Karpenter does not terminate instances in Pending state HOT 5
- DeviceIndex is not respected when processing multiple network interfaces on a node HOT 3
- Service controller doesn't populate TargetGroups HOT 1
- aws cloud controller manager is unable to manage the nodes in cluster HOT 5
- Switch to aws-sdk-go-v2 vendored library HOT 6
- Deprecate and remove AWS cloud-controller-manager Helm Chart HOT 15
- Support Region for DescribeInstance Call HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cloud-provider-aws.