<p>When I add the k8s work node to the master control-plane, the pod of calico-node report a error show that the server's ip connection is unhealthy.</p>

<pre><code>Warning  Unhealthy  36s   kubelet, izbp1a13o0oyyyt66ldcdhsj  
Readiness probe failed: calico/node is not ready: BIRD is not ready: BGP not established with XX.XX.XX.XX 
2020-02-03 08:16:54.740 [INFO][119] health.go 156: Number of node(s) with BGP peering established = 0
</code></pre>

<p>I using kubeadm to create the cluster, the master node seems work ready. This error show when I join other work node, it looks like the calico net framework not work correctly between them.</p>

<p>The <code>kubectl get nodes</code> show the two node are all ready.</p>

<p>The <code>kubectl get pods --all-namespaces</code> show there are two calico-node pod in the namespace kube-system, and they are all report error show above.</p>

ccd
<p>Refer this on official <a href="https://docs.projectcalico.org/maintenance/troubleshooting" rel="nofollow noreferrer">calico troubleshooting guide</a></p>
<pre><code>Error: calico/node is not ready: BIRD is not ready: BGP not established with x.x.x.x
</code></pre>
<p>Top three cause are as below try eliminate them</p>
<blockquote>
<p>1 : This “unready” status error in Kubernetes means that a <strong>particular peer is unreachable in the cluster</strong>. Check that BGP connectivity between the two peers is allowed in the environment.</p>
<p>2: This error can also <strong>occur if inactive Node resources are configured for node-to-node mesh</strong>. To fix this, decommission the stale nodes.</p>
<p>3: This error can also <strong>occur when BGP connections to non-mesh peers go down</strong>. If this is a common occurrence in your BGP topology, you can disable BIRD readiness checks. See node readiness for more information.</p>
</blockquote>
