Comments (4)
You enabled svc_election
and this is only for advertising service type lb, so it's expected that each service will have its own leader, and they acquires leader on each kube-vip independently, so there could be 2 services acquiring leader on same node or on different node.
Relevant code is here https://github.com/kube-vip/kube-vip/blob/main/pkg/manager/servicesLeader.go#L18
It's possible that the previous leader didn't exist correctly, so two leader are ARPing for same service, but it's possible that two service type lbs got assigned with same IP, so two node are reporting the same IP, this is also worth checking.
I would recommend using newer kube-vip since many refactoring have been made, and please upload kube-vip log for each of the leader when this issue happens, at least we could check if it's ARPing for same service or not
from kube-vip.
@lubronzhan Thanks for the help!
there could be 2 services acquiring leader on same node or on different node.
How do I check for this condition and prevent it's occurrence?
Will do on the update.
from kube-vip.
there could be 2 services acquiring leader on same node or on different node.
How do I check for this condition and prevent it's occurrence?
This is expected, since you enabled svc_election, each service will has its own leader. and it should work as long as two services have different loadbalancerIP. So I don't think you want to prevent its occurrence. Unless you have two services share the same loadbalancerIP.
I would need more log to help understand the issue. Please update once you run into that again.
Thanks
from kube-vip.
Ack on the per-service load balancer. I was getting confused on nodes vs service leader but I think I get it now. My understanding is that each service (differentiated by loadbalancerIP) should have a unique leader. Which is what appears not to have happened as two instances were ARPing the same loadbalancerIP to different interfaces simultaneously.
Unless you have two services share the same loadbalancerIP.
That is not the case now but might have occurred transiently and been subsequently corrected.
Working on an update and will provide additional logs.
from kube-vip.
Related Issues (20)
- No automatic failover when control-plane with the VIP goes down in ARP mode. HOT 2
- Generating a manifest not outputting yaml on stdout HOT 1
- 🌱 E2E test for generating manifest
- kube-vip 0.7.0 causes nodes to lose connection and interfaces would lose IPs HOT 8
- Problem with the label kube-vip.io/has-ip HOT 2
- [Bug] When kube-vip reconciles in Table/BGP Mode it should reconcile gracefully.
- kube-vip v0.7.0 broken the control plane load balancing HOT 3
- Old routes are not removed if service is modified when kube-vip is down HOT 2
- IP from DHCP didn't setup in macvlan interface
- Add iptables masquerade rules for `lb_fwdmethod` set to `lb_fwdmethod` HOT 6
- kube-vip manifest rbac does not output a document alike https://kube-vip.io/manifests/rbac.yaml HOT 2
- Investigate the flaky e2e test HOT 2
- Support for Liveliness probe
- LB for VIP HA doesn't work if there's no kubelet on master nodes HOT 5
- Control plane load balancing on IPv6 does IPVS service error HOT 7
- Control plane load balancer creation loop with multiple instances HOT 17
- [0.7.2] Failing to assign VIPs to services with externalTrafficPolicy: Local and servicesElection: true HOT 4
- Select kube-vip instance by LoadalancerClass
- DDNS support is completely removed after v0.7.0 HOT 3
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 kube-vip.