calico/node is not ready
Errors
yaml
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning Unhealthy 3m18s (x9121 over 25h) kubelet, instance-smuk9oo0-2 (combined from similar events): Readiness probe failed: 2025-01-09 08:36:13.505 [INFO][21491] confd/health.go 177: Number of node(s) with BGP peering established = 0
calico/node is not ready: BIRD is not ready: BGP not established with 192.168.90.6,192.168.90.8,192.168.90.2,192.168.90.5,192.168.90.4,192.168.90.3
CoreDNS is not working on a certain machine because Calico is failing to start on that machine. The reason is that the host machine has the Docker bridge network enabled, and it is necessary to manually specify the network interface for Calico.
Solutions
Specify Calico Network Interface
bash
kubectl -n kube-system set env daemonset/calico-node IP_AUTODETECTION_METHOD=interface=eth0
yaml
spec:
containers:
- env:
- name: IP_AUTODETECTION_METHOD
value: interface=eth0
Get all network interface
bash
ip a