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
}