Helper for CNI operations. Set of controllers help to discover and configure Calico BGP peers.
Each rack TORs have different IP addresses for peering with Calico nodes. Peer discovery is based on traceroute.
In case Calico BGPPeers
need to be recreated (e.g. BGPFilters
or AS number change), following can be done to trigger rediscovery.
- Optional. Given each rack has two BGP peers, remove the half of BGP peers at one time to avoid downtime.
# print every first line
› kubectl get bgppeer | awk '{print $1}' | grep -v NAME | awk 'NR % 2 == 1'
# print every second line
› kubectl get bgppeer | awk '{print $1}' | grep -v NAME | awk 'NR % 2 == 0'
- Delete Calico
BGPPeer
resources
› kubectl delete bgppeer bgp-peer-pod123-10.10.11.10
- Delete
BgpPeerDiscovery
resources.
› kubectl delete bgppeerdiscovery -l app.kubernetes.io/managed-by=cni-nanny
- Delete
LabelDiscovery
resources.
› kubectl delete labeldiscovery -l app.kubernetes.io/managed-by=cni-nanny
- Wait for the new discovery to complete.