Skip to content
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

LoadBalancer: 'service.beta.kubernetes.io/aws-load-balancer-type: nlb' annotation exists regardless of platform type #2603

Closed
yboaron opened this issue Apr 20, 2023 · 3 comments · Fixed by #2727
Assignees
Labels
bug Something isn't working priority:low

Comments

@yboaron
Copy link
Contributor

yboaron commented Apr 20, 2023

When Submariner gateway is deployed using LoadBalancer service, 'service.beta.kubernetes.io/aws-load-balancer-type: nlb' annotation exists regardless of platform type.

For example [1] is the submariner-gateway manifest for when Submariner deployed on ARO.

This should be treated as low severity, as it should not affect the LoadBalancer service, but only may cause confusion.

[1]

kind: Service
apiVersion: v1
metadata:
annotations:
service.beta.kubernetes.io/aws-load-balancer-type: nlb
resourceVersion: '622004'
name: submariner-gateway
uid: c3dca72e-bf5b-46ed-bed5-14cfb02b90d8
creationTimestamp: '2023-04-19T13:49:20Z'
managedFields:
- manager: kube-controller-manager
operation: Update
apiVersion: v1
time: '2023-04-19T13:49:20Z'
fieldsType: FieldsV1
fieldsV1:
'f:metadata':
'f:finalizers':
.: {}
'v:"service.kubernetes.io/load-balancer-cleanup"': {}
subresource: status
- manager: submariner-operator
operation: Update
apiVersion: v1
time: '2023-04-19T13:49:20Z'
fieldsType: FieldsV1
fieldsV1:
'f:metadata':
'f:annotations':
.: {}
'f:service.beta.kubernetes.io/aws-load-balancer-type': {}
'f:ownerReferences':
.: {}
'k:{"uid":"34d24fcc-6ec8-4bb9-b146-e6c531b46e27"}': {}
'f:spec':
'f:allocateLoadBalancerNodePorts': {}
'f:externalTrafficPolicy': {}
'f:internalTrafficPolicy': {}
'f:ports':
.: {}
'k:{"port":4490,"protocol":"UDP"}':
.: {}
'f:name': {}
'f:port': {}
'f:protocol': {}
'f:targetPort': {}
'k:{"port":4500,"protocol":"UDP"}':
.: {}
'f:name': {}
'f:port': {}
'f:protocol': {}
'f:targetPort': {}
'f:selector': {}
'f:sessionAffinity': {}
'f:type': {}
namespace: submariner-operator
ownerReferences:
- apiVersion: submariner.io/v1alpha1
kind: Submariner
name: submariner
uid: 34d24fcc-6ec8-4bb9-b146-e6c531b46e27
controller: true
blockOwnerDeletion: true
finalizers:
- service.kubernetes.io/load-balancer-cleanup
spec:
clusterIP: 172.31.238.232
externalTrafficPolicy: Local
ipFamilies:
- IPv4
healthCheckNodePort: 32488
ports:
- name: cable-encaps
protocol: UDP
port: 4500
targetPort: 4500
nodePort: 31778
- name: natt-discovery
protocol: UDP
port: 4490
targetPort: 4490
nodePort: 30513
internalTrafficPolicy: Cluster
clusterIPs:
- 172.31.238.232
allocateLoadBalancerNodePorts: true
type: LoadBalancer
ipFamilyPolicy: SingleStack
sessionAffinity: None
selector:
app: submariner-gateway
gateway.submariner.io/status: active
status:
loadBalancer: {}

@yboaron yboaron added bug Something isn't working priority:low labels Apr 20, 2023
@nyechiel
Copy link
Member

@yboaron does it make sense to try and fix this for 0.15 or is it too risky?

@yboaron
Copy link
Contributor Author

yboaron commented Apr 20, 2023

@yboaron does it make sense to try and fix this for 0.15 or is it too risky?

IMO we shouldn't fix it for 0.15, as it is just an annotation that doesn't affect service functionality.

@yboaron
Copy link
Contributor Author

yboaron commented Apr 20, 2023

I think we can delete the "service.beta.kubernetes.io/aws-load-balancer-type": "nlb" annotation also for AWS case,
as 'nlb' value isn't supported anymore, it should be 'nlb-ip' or 'external', check [1] for more details.

[1]
https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/guide/service/annotations/#traffic-routing

@yboaron yboaron self-assigned this Apr 23, 2023
yboaron added a commit to yboaron/submariner-operator that referenced this issue Jul 13, 2023
A LoadBalancer type Service is a typical way to expose an
application to the internet.
A LoadBalancer type Service relies on the cloud provider to create
an external load balancer with an IP address in the relevant network space.

Different cloud providers support different Service annotations,
this PR updates LB service annotations in accordance with OCP platform.

Fixes: submariner-io#2603

Signed-off-by: Yossi Boaron <[email protected]>
yboaron added a commit to yboaron/submariner-operator that referenced this issue Jul 16, 2023
A LoadBalancer type Service is a typical way to expose an
application to the internet.
A LoadBalancer type Service relies on the cloud provider to create
an external load balancer with an IP address in the relevant network space.

Different cloud providers support different Service annotations,
this PR updates LB service annotations in accordance with OCP platform.

Fixes: submariner-io#2603

Signed-off-by: Yossi Boaron <[email protected]>
yboaron added a commit to yboaron/submariner-operator that referenced this issue Jul 16, 2023
A LoadBalancer type Service is a typical way to expose an
application to the internet.
A LoadBalancer type Service relies on the cloud provider to create
an external load balancer with an IP address in the relevant network space.

Different cloud providers support different Service annotations,
this PR updates LB service annotations in accordance with OCP platform.

Fixes: submariner-io#2603

Signed-off-by: Yossi Boaron <[email protected]>
yboaron added a commit to yboaron/submariner-operator that referenced this issue Jul 17, 2023
A LoadBalancer type Service is a typical way to expose an
application to the internet.
A LoadBalancer type Service relies on the cloud provider to create
an external load balancer with an IP address in the relevant network space.

Different cloud providers support different Service annotations,
this PR updates LB service annotations in accordance with OCP platform.

Fixes: submariner-io#2603

Signed-off-by: Yossi Boaron <[email protected]>
yboaron added a commit to yboaron/submariner-operator that referenced this issue Jul 18, 2023
A LoadBalancer type Service is a typical way to expose an
application to the internet.
A LoadBalancer type Service relies on the cloud provider to create
an external load balancer with an IP address in the relevant network space.

Different cloud providers support different Service annotations,
this PR updates LB service annotations in accordance with OCP platform.

Fixes: submariner-io#2603

Signed-off-by: Yossi Boaron <[email protected]>
tpantelis pushed a commit to yboaron/submariner-operator that referenced this issue Jul 19, 2023
A LoadBalancer type Service is a typical way to expose an
application to the internet.
A LoadBalancer type Service relies on the cloud provider to create
an external load balancer with an IP address in the relevant network space.

Different cloud providers support different Service annotations,
this PR updates LB service annotations in accordance with OCP platform.

Fixes: submariner-io#2603

Signed-off-by: Yossi Boaron <[email protected]>
tpantelis pushed a commit to yboaron/submariner-operator that referenced this issue Jul 19, 2023
A LoadBalancer type Service is a typical way to expose an
application to the internet.
A LoadBalancer type Service relies on the cloud provider to create
an external load balancer with an IP address in the relevant network space.

Different cloud providers support different Service annotations,
this PR updates LB service annotations in accordance with OCP platform.

Fixes: submariner-io#2603

Signed-off-by: Yossi Boaron <[email protected]>
tpantelis pushed a commit to yboaron/submariner-operator that referenced this issue Jul 19, 2023
A LoadBalancer type Service is a typical way to expose an
application to the internet.
A LoadBalancer type Service relies on the cloud provider to create
an external load balancer with an IP address in the relevant network space.

Different cloud providers support different Service annotations,
this PR updates LB service annotations in accordance with OCP platform.

Fixes: submariner-io#2603

Signed-off-by: Yossi Boaron <[email protected]>
tpantelis pushed a commit to yboaron/submariner-operator that referenced this issue Jul 19, 2023
A LoadBalancer type Service is a typical way to expose an
application to the internet.
A LoadBalancer type Service relies on the cloud provider to create
an external load balancer with an IP address in the relevant network space.

Different cloud providers support different Service annotations,
this PR updates LB service annotations in accordance with OCP platform.

Fixes: submariner-io#2603

Signed-off-by: Yossi Boaron <[email protected]>
yboaron added a commit to yboaron/submariner-operator that referenced this issue Jul 20, 2023
A LoadBalancer type Service is a typical way to expose an
application to the internet.
A LoadBalancer type Service relies on the cloud provider to create
an external load balancer with an IP address in the relevant network space.

Different cloud providers support different Service annotations,
this PR updates LB service annotations in accordance with OCP platform.

Fixes: submariner-io#2603

Signed-off-by: Yossi Boaron <[email protected]>
yboaron added a commit to yboaron/submariner-operator that referenced this issue Jul 20, 2023
A LoadBalancer type Service is a typical way to expose an
application to the internet.
A LoadBalancer type Service relies on the cloud provider to create
an external load balancer with an IP address in the relevant network space.

Different cloud providers support different Service annotations,
this PR updates LB service annotations in accordance with OCP platform.

Fixes: submariner-io#2603

Signed-off-by: Yossi Boaron <[email protected]>
yboaron added a commit that referenced this issue Jul 26, 2023
A LoadBalancer type Service is a typical way to expose an
application to the internet.
A LoadBalancer type Service relies on the cloud provider to create
an external load balancer with an IP address in the relevant network space.

Different cloud providers support different Service annotations,
this PR updates LB service annotations in accordance with OCP platform.

Fixes: #2603

Signed-off-by: Yossi Boaron <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working priority:low
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants