containernetworking / plugins

Some reference and example networking plugins, maintained by the CNI team.
Apache License 2.0
2.17k stars 778 forks source link

Getting validateIfName: interface name ABC already exists on reboot #934

Open dbainbri-ciena opened 1 year ago

dbainbri-ciena commented 1 year ago

On a single k3s cluster using multus and the bridge CNI, the pods originally get set up fine and the networking functions as expected. When I reboot the host about ~80% of the time the pods fail to get scheduled and I see the following errors in the pod description.

The message DelegateAdd: cannot set "" interface name to "br0": validateIfName: interface name br0 already exists stands out to me as as it has an empty "" which seems to indicate to me that some values is not being picked up somewhere.

Any suggestions?

Events: Type Reason Age From Message


Normal Scheduled 9m44s default-scheduler Successfully assigned my-pod to k8s-ubuntu Normal AddedInterface 9m42s multus Add eth0 [10.244.0.212/24] from cbr0 Normal AddedInterface 9m42s multus Add br0 [169.254.160.99/24] from nad-br0 Normal AddedInterface 9m42s multus Add eth1 [169.254.162.201/24] from nad-br0 Normal AddedInterface 9m42s multus Add eth0 [10.244.0.212/24] from multus-cni-network Warning FailedCreatePodSandBox 9m41s kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up s andbox container "21db231f865fa59e12512a624769bcd2d2f48abbdf90a8e61198cd1fdcbe96f9" network for pod "my-pod": networkPlugin cni failed to set up pod "my-pod" network: plugin type="multus" failed (add): [my-pod/:nad-br0]: error adding container to network "multus -cni-network": plugin type="multus" failed (add): [my-pod/:multus-cni-network]: error adding container to network "multus-cni-network": plugin type="multus" failed (add): [my-pod/:multus-cni-network]: error adding container to network "multus-cni-network": plugin type="multus" failed (add): [my-pod/:nad-br0]: error adding container to network "nad-br0": DelegateAdd: cannot set "" interface name to "br0": validateIfName: interface name br0 already exists