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

Don't assign the same external IP to two conflicting services #48

Open
Lykos153 opened this issue Mar 22, 2023 · 0 comments
Open

Don't assign the same external IP to two conflicting services #48

Lykos153 opened this issue Mar 22, 2023 · 0 comments

Comments

@Lykos153
Copy link
Contributor

I can see two Services that hold the same external IP but conflict in the ports 80 and 443.

istio-system            istio-ingressgateway                                 LoadBalancer   10.104.206.154   xxx.xxx.xxx.37   15021:31197/TCP,80:31420/TCP,443:30986/TCP,31400:31746/TCP,15443:31012/TCP   491d
k8s-svc-ingress         ingress-ingress-nginx-controller                     LoadBalancer   10.110.247.169   xxx.xxx.xxx.37   80:32080/TCP,443:32443/TCP                                                   28h

The agent only has forward rules for one of them. The controller's logs say:

W0322 16:25:02.022196       1 port_mapper.go:180] relocating service "k8s-svc-ingress/ingress-ingress-nginx-controller" to a new port due to conflict on old port 8d2a5037-f3ee-4427-9f40-21d8fa2d423b
W0322 16:25:03.130451       1 port_manager.go:195] Couldn't provide floating ip for port=c49274b0-e4c5-4d1f-a0ea-036ffeaf7d79: Expected HTTP response code [201 202] when accessing [POST https://xxx:9696/v2.0/floatingips], but got 409 instead
{"NeutronError": {"type": "OverQuota", "message": "Quota exceeded for resources: ['floatingip'].", "detail": ""}}
I0322 16:25:03.130550       1 port_manager.go:173] Deleting port c49274b0-e4c5-4d1f-a0ea-036ffeaf7d79
E0322 16:25:03.937070       1 worker.go:329] error processing job SyncServiceJob("k8s-svc-ingress/ingress-ingress-nginx-controller"): No floating IP was created by OpenStack; requeueing

Expected behavior in this case:

  1. Don't assign (or unassign) the external IP to (from) the newer service
  2. Add an event (pending or arguably failed) to the service with a meaningful message about the exceeded quota.
@Lykos153 Lykos153 changed the title Don't assign the same external IP two conflicting services Don't assign the same external IP to two conflicting services Mar 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant