Application pods configured with secondary network annotations (using the k8s.v1.cni.cncf.io/networks key) fail to reach the Ready state (Ready: False) following a node boot, reboot, or rescheduling event. Although the container state displays Running with zero restarts, health and readiness checks continuously fail. The pod contains network annotations specifying secondary attachments, such as:
k8s.v1.cni.cncf.io/networks: <network-attachment-definition-1>, <network-attachmentdefinition-2>
Due to initialization timing during node startup, the pod container launches without its required secondary CNI network interfaces attached, leading to internal connectivity issues and probe failures.
TCP 5.1
A startup race condition occurs on the worker node between the application workload pods and the Multus CNI DaemonSet during host initialisation:
Workaround:
To resolve this issue for affected pods, force Kubernetes to recreate the pod sandbox after the Multus CNI plugin is fully operational on the node.
Note:
Deleting the affected pod causes its parent controller (StatefulSet, Deployment, or ReplicaSet) to recreate it. During
recreation, Multus intercepts the network setup request and successfully attaches all configured secondary network
interfaces.
Step 1: Delete the affected pod(s)
kubectl delete pod -n <namespace> <pod-name>
Step 2: Verification Steps
kubectl get pod -n <namespace> <pod-name> -w
kubectl describe pod -n <namespace> <pod-name>