root@cloud:~# ./calicoctl node status Calico process is running. IPv4 BGP status +--------------+---------------+-------+----------+--------------------------------+ | PEER ADDRESS | PEER TYPE | STATE | SINCE | INFO | +--------------+---------------+-------+----------+--------------------------------+ | 10.10.16.251 | node specific | up | 04:06:20 | Established | | 10.10.18.34 | node specific | start | 07:12:38 | Idle BGP Error: Hold timer | | | | | | expired | +--------------+---------------+-------+----------+--------------------------------+ IPv6 BGP status No IPv6 peers found.
root@cloud:~# docker exec e9d82dcec82f cat /etc/calico/confd/config/bird.cfg function apply_communities () { } # Generated by confd include "bird_aggr.cfg"; include "bird_ipam.cfg"; router id 10.10.16.47; # Configure synchronization between routing tables and kernel. protocol kernel { learn; # Learn all alien routes from the kernel persist; # Don't remove routes on bird shutdown scan time 2; # Scan kernel routing table every 2 seconds import all; export filter calico_kernel_programming; # Default is export none graceful restart; # Turn on graceful restart to reduce potential flaps in # routes when reloading BIRD configuration. With a full # automatic mesh, there is no way to prevent BGP from # flapping since multiple nodes update their BGP # configuration at the same time, GR is not guaranteed to # work correctly in this scenario. merge paths on; # Allow export multipath routes (ECMP) } # Watch interface up/down events. protocol device { debug { states }; scan time 2; # Scan interfaces every 2 seconds } protocol direct { debug { states }; interface -"cali*", -"kube-ipvs*", "*"; # Exclude cali* and kube-ipvs* but # include everything else. In # IPVS-mode, kube-proxy creates a # kube-ipvs0 interface. We exclude # kube-ipvs0 because this interface # gets an address for every in use # cluster IP. We use static routes # for when we legitimately want to # export cluster IPs. } # Template for all BGP clients template bgp bgp_template { debug { states }; description "Connection to BGP peer"; local as 64512; multihop; gateway recursive; # This should be the default, but just in case. import all; # Import all routes, since we don't know what the upstream # topology is and therefore have to trust the ToR/RR. export filter calico_export_to_bgp_peers; # Only want to export routes for workloads. add paths on; graceful restart; # See comment in kernel section about graceful restart. connect delay time 2; connect retry time 5; error wait time 5,30; } # ------------- Node-to-node mesh ------------- # Node-to-node mesh disabled # ------------- Global peers ------------- # No global peers configured. # ------------- Node-specific peers ------------- # For peer /host/cloud/peer_v4/10.10.16.251 protocol bgp Node_10_10_16_251 from bgp_template { neighbor 10.10.16.251 as 64512; source address 10.10.16.47; # The local address we use for the TCP connection rr client; rr cluster id 10.10.16.47; } # For peer /host/cloud/peer_v4/10.10.16.47 # Skipping ourselves (10.10.16.47) # For peer /host/cloud/peer_v4/10.10.18.34 protocol bgp Node_10_10_18_34 from bgp_template { neighbor 10.10.18.34 as 64513; source address 10.10.16.47; # The local address we use for the TCP connection }