-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
node with wrong ipv6 route table after ipv6 vip failover #8381
Comments
@ltgentoo have you followed our docs for this setup? We don't use HAProxy/Keepalived for high availability. In this case of failover Calico is not aware of the change. this is controlled by keepalived, and the routes are added by it. |
thanks for your reply, we use HAProxy/Keepalived for apiserver ha,i know calico don‘t need HAProxy/Keepalived,maybe there are some conflicts with them.we try to solve the problem I would like to add some information My confusion is that: |
Hi @mazdakn |
@fasaxc can you please comment on this? It seems we ignore non local routes here: calico/felix/ifacemonitor/update_filter.go Line 116 in 126ddce
but routes for virtual addresses are not local. WDYT? |
@mazdakn The new IPV6 address added theoretically does not belong to the local route, so why does it cause changes in calico routing? |
@mazdakn The normal logic is that Calico will change the IPv6 address of the node to the pod IPV6 network segment gateway address, but the phenomenon here is abnormal. |
Please can you add the output from these commands:
I'm not sure that Note that IPIP is not an option for IPv6. The options are to
The first two options use BIRD to distribute routes. At a guess, BIRD is picking up the extra IP address and concluding that it is not in the same subnet as the other nodes so it routes via the default gateway instead. I'm not sure why BIRD would be preferring that IP, hopefully the above output will shed some light. With VXLAN, I think we explicitly use the autodetected IP so that might work here. |
@fasaxc |
possibly related to #8739 |
@ltgentoo did you get a chance to try VXLANv6? |
@ltgentoo any updates on trying VXLANv6? |
k8s with dual stack enabled,use haproxy and keepalived for ha,after failover,the node with vip previously get wrong ipv6 route table
Expected Behavior
vip address: 2001::201 on 2001::21
we have a test cluster with 3 nodes
2001::21
2001::22
2001::23
calico mode: ipip crosssubnet
before failover,the ipv6 route table is:
2001::23:
2000:100:100:100:19ca:52ab:2617:eac0/122 2001::22 UG 1024 1 0 ens33
2000:100:100:100:891c:ddc:b181:4840/122 2001::21 UG 1024 1 0 ens33
2001::22:
2000:100:100:100:891c:ddc:b181:4840/122 2001::21 UG 1024 1 0 ens33
2000:100:100:100:97a2:de77:c193:200/122 2001::23 UG 1024 2 0 ens33
2001::21:
2000:100:100:100:19ca:52ab:2617:eac0/122 2001::22 UG 1024 1 0 ens33
2000:100:100:100:97a2:de77:c193:200/122 2001::23 UG 1024 1 0 ens33
before vip failover,everything works fine
after vip failovers,the ipv6 route should not changed
Current Behavior
after failover
vip [a](address: 2001::201 on 2001::22,the ipv6 route tables is:
2001::22:
2000:100:100:100:891c:ddc:b181:4840/122 2001::21 UG 1024 2 0 ens33
2000:100:100:100:97a2:de77:c193:200/122 2001::23 UG 1024 3 0 ens33
2001::23:
2000:100:100:100:19ca:52ab:2617:eac0/122 2001::22 UG 1024 2 0 ens33
2000:100:100:100:891c:ddc:b181:4840/122 2001::21 UG 1024 2 0 ens33
2001::21:
2000:100:100:100:19ca:52ab:2617:eac0/122 2001::2839:3654:bcd8:88c3 UG 1024 2 0 ens33
2000:100:100:100:97a2:de77:c193:200/122 2001::2839:3654:bcd8:88c3 UG 1024 1 0 ens33
ipv6 route on node 2001::21 changed , 2001::2839:3654:bcd8:88c3 is our defautl ipv6 gateway, i don't know why
of course, with the wrong ipv6 route ,can't reach pod on other node from 2001::21
Possible Solution
both config;the result is same
calicoctl get nodes -oyaml
result ,and bgp.ipv6Address is correctSteps to Reproduce (for bugs)
Context
Your Environment
The text was updated successfully, but these errors were encountered: