| 245 | } |
| 246 | |
| 247 | func dumpNetworkDebugInfo() { |
| 248 | klog.Info("Dumping network connectivity debug info") |
| 249 | resolv, err := os.ReadFile("/etc/resolv.conf") |
| 250 | if err != nil { |
| 251 | klog.Errorf("Failed to read /etc/resolv.conf: %v", err) |
| 252 | } |
| 253 | klog.Infof("/etc/resolv.conf: %q", string(resolv)) |
| 254 | addrs, err := net.LookupHost("kubernetes.default") |
| 255 | if err != nil { |
| 256 | klog.Errorf("Failed to resolve kubernetes.default: %v", err) |
| 257 | } |
| 258 | klog.Infof("kubernetes.default resolves to: %v", addrs) |
| 259 | addrs, err = net.LookupHost("google.com") |
| 260 | if err != nil { |
| 261 | klog.Errorf("Failed to resolve google.com: %v", err) |
| 262 | } |
| 263 | klog.Infof("google.com resolves to: %v", addrs) |
| 264 | resp, err := http.Get("http://google.com/") |
| 265 | if err != nil { |
| 266 | klog.Errorf("Failed to get http://google.com/: %v", err) |
| 267 | } |
| 268 | defer resp.Body.Close() |
| 269 | klog.Infof("GET http://google.com finished with: %v code", resp.StatusCode) |
| 270 | } |
| 271 | |
| 272 | func main() { |
| 273 | pflag.Parse() |