<p>Trying to set up Calico on-premises Kubernetes cluster.</p>
<p>Initializing cluster <code>kubeadm init --pod-network-cidr=192.168.0.0/16</code>
Using <code>https://docs.projectcalico.org/manifests/calico.yaml</code> manifest.</p>
<pre><code>~# calicoctl node status
Calico process is running.

IPv4 BGP status
+---------------+-------------------+-------+----------+---------+
| PEER ADDRESS  |     PEER TYPE     | STATE |  SINCE   |  INFO   |
+---------------+-------------------+-------+----------+---------+
| 10.25.13.69   | node-to-node mesh | start | 13:49:12 | Connect |
+---------------+-------------------+-------+----------+---------+
</code></pre>
<p>calico-node complains:
<code>calico/node is not ready: BIRD is not ready: BGP not established with 10.25.13.69</code></p>
<p>What <code>Connect</code> actually means? Where to look for the problem? Could it be related to the multiple <code>kubeadm reset</code>?</p>

<p>As nodes had different network interfaces, <code>calico-node</code> autodetected different networks on nodes. To fix this I added <code>IP_AUTODETECTION_METHOD</code> env var to <code>calico-node</code> <code>DaemonSet</code>. In my case I used these env var values:</p>
<pre><code>   # Auto-detect the BGP IP address.
   - name: IP
     value: &quot;autodetect&quot;
   - name: IP_AUTODETECTION_METHOD
     value: cidr=10.0.0.0/8
</code></pre>
