The problem is in Kubernetes v1.23.3 which I think uses go1.17.6, but at least go1.17.x.
Does this issue reproduce with the latest release?
N/A. Have to wait for K8s.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
# (can't run this in K8s container)
System is openstack with;
Linux control-plane-n108-mast-n057 5.3.18-24.99-default #1 SMP Sun Jan 23 19:03:51 UTC 2022 (712a8e6) x86_64 x86_64 x86_64 GNU/Linux
What did you do?
In heavy stress tests on a very large K8s cluster (159 nodes) the update of addresses made by the internal k8s load-balancer (kube-proxy) sometimed (very infrequent) fails to read all addresses with net.InterfaceAddrs. The error is;
E0209 12:18:47.395530 1 proxier.go:1110] "Failed to list all node IPs from host" err="error listing LOCAL type addresses from host, error: Could not get addresses: route ip+net: no such network interface"
The stress test contantly reboot nodes and interfaces are created and removed all the time. At very infrequent times the error above i thrown.
A work-around may be to read interfaces with net.Interfaces and then read addresses per interface with net.Interface.Addrs and create our own "safe InterfaceAddrs". But IMO we shouldn't have to do that.
changed the title
affected/package: net. net.InterfaceAddrs() throws "no such network interface"Mar 25, 2022