“Calico node is not ready” is a health-check symptom, not a diagnosis. The failing probe and the calico-node logs point to the right fix: BIRD/BGP peer connectivity, Felix startup, a BIRD socket or configuration error, missing host-mounted state, or—only in eBPF mode—an interface program or kernel issue. In the LFS258 Lab 3.3–3.4 incident, pod sandbox creation was blocked because the CNI plugin could not find /var/lib/calico/nodename.
What “Calico node is not ready” means
Calico’s readiness checks wait for Felix and, when BIRD is enabled, BIRD health before reporting the node network as available. A failing check can therefore leave a calico-node pod unready and workloads stuck in ContainerCreating. The probe message identifies the component or resource to investigate; it does not by itself establish the root cause.
For the LFS258 Lab 3.3–3.4 report, the CNI setup error was that it could not stat /var/lib/calico/nodename. The same calico-node pod also reported BIRD and Felix probe failures, so use the events and logs to determine which error is preventing startup rather than assuming every message has the same cause.
Collect evidence before changing cluster settings
-
Find the Calico node pod and the Kubernetes node where it is scheduled:
kubectl -n kube-system get pods -o wide -l k8s-app=calico-node.Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.#1 Best Overall
-
Inspect the affected pod’s status, probe results, mounts, and Events:
kubectl -n kube-system describe pod <calico-node-pod>. Preserve the exact probe or CNI error; its wording determines which troubleshooting branch to follow. -
Read the current
calico-nodecontainer log:kubectl -n kube-system logs <pod> -c calico-node. If the container restarted, check the previous instance too:kubectl -n kube-system logs <pod> -c calico-node --previous. Look for the first relevant BIRD, Felix, confd, mount, or API error. -
Check the node and the Calico DaemonSet configuration before making cluster-wide changes. For example, inspect the DaemonSet and its hostPath mounts with
kubectl -n kube-system get ds calico-node -o yaml; compare the affected pod’s placement and configuration with a healthy node if one is available.
Choose the fix from the error
BIRD is not ready or BGP is not established
Calico says that, in most cases, this unready status means a particular peer is unreachable. Check node-to-node routing and whether host firewalls or security groups allow the configured BGP connectivity. Verify that the peer’s configured BGP address is reachable and that the peer node is present and healthy.
Recommended Free Tools
Rank #3
Also check Calico’s Node resources for inactive nodes when node-to-node mesh is configured. A stale resource for a decommissioned node can keep BIRD unready; verify that the resource is genuinely obsolete before removing it. Restarting Kubernetes components will not resolve an unreachable peer or stale peer configuration.
/var/lib/calico/nodename is missing
This error means the CNI plugin cannot find the node identity file it expects. Check that the calico-node container started far enough to initialize Calico, and that its hostPath mount for /var/lib/calico/ is present and writable on the affected node. If initialization failed before the file was written, use the earlier container logs and Events to identify that failure; the missing file may be a downstream symptom rather than the first error.
Rank #4
Because CNI setup can fail before a pod sandbox is created, a workload can remain in ContainerCreating while this node-level problem persists. Correct the mount or initialization issue on the affected node, then check whether Calico becomes ready and pod creation can proceed.
BIRD control socket is refused or missing
A refused connection to the BIRD control socket, such as /var/run/calico/bird.ctl, indicates that BIRD is not serving that socket. A Calico maintainer notes that this commonly follows a problem with confd generating BIRD configuration. Read the calico-node logs for the underlying confd or BIRD error instead of treating the socket message as the root cause.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Felix is not live or its readiness probe returns 503
Inspect the calico-node logs for Felix initialization errors, host-interface discovery problems, permissions issues, or API connectivity failures. The probe reports Felix’s health; it does not specify which of those conditions caused it. Find the earliest relevant error in the logs and address that cause before considering a pod restart. Repeatedly deleting the pod can remove useful evidence without fixing the underlying issue.
Readiness fails in eBPF dataplane mode
Investigate this branch only if the cluster is configured to use Calico’s eBPF dataplane. Check the calico-node logs for errors updating a program attached to an interface. A kernel eBPF verifier incompatibility can reject a program, which is a different failure path from ordinary BGP peer reachability.
Confirm the recovery
-
Recheck the affected pod with
kubectl -n kube-system get pods -o wide -l k8s-app=calico-nodeand inspect its Events withkubectl -n kube-system describe pod <calico-node-pod>. -
Confirm that the original probe or CNI error has cleared and that the relevant component is healthy. If the pod remains unready, follow the new or still-present error rather than switching branches based on an earlier symptom.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy. -
Check whether affected workloads can now create their pod sandboxes. If they remain stuck, inspect their Events for the current CNI error and continue from that evidence.
Quick Recap
SaleBestseller No. 3SaleBestseller No. 4
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

