mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-04 01:40:07 +00:00
e2e/network: dump iptables and conntrack flows for debugging
Signed-off-by: Daman Arora <aroradaman@gmail.com>
This commit is contained in:
parent
4f04dffe5b
commit
3f2deb51ad
@ -342,6 +342,27 @@ func (config *NetworkingTestConfig) DialFromContainer(ctx context.Context, proto
|
|||||||
}
|
}
|
||||||
framework.Logf("Dump network information for node %s:\n%s", node.Name, result)
|
framework.Logf("Dump network information for node %s:\n%s", node.Name, result)
|
||||||
}
|
}
|
||||||
|
// Dump the node iptables rules and conntrack flows for troubleshooting #123760
|
||||||
|
podList, _ := config.f.ClientSet.CoreV1().Pods("kube-system").List(ctx, metav1.ListOptions{
|
||||||
|
LabelSelector: "k8s-app=kube-proxy",
|
||||||
|
})
|
||||||
|
for _, pod := range podList.Items {
|
||||||
|
// dump only for the node running test-container-pod
|
||||||
|
if pod.Status.HostIP == config.TestContainerPod.Status.HostIP {
|
||||||
|
output, _, _ := e2epod.ExecWithOptions(config.f, e2epod.ExecOptions{
|
||||||
|
Namespace: "kube-system",
|
||||||
|
PodName: pod.Name,
|
||||||
|
ContainerName: "kube-proxy",
|
||||||
|
Command: []string{"sh", "-c", fmt.Sprintf(`echo "IPTables Dump: " && iptables-save | grep "%s/%s:http" && echo "Conntrack flows: " && conntrack -Ln -p tcp | grep %d`, config.Namespace, config.NodePortService.Name, EndpointHTTPPort)},
|
||||||
|
Stdin: nil,
|
||||||
|
CaptureStdout: true,
|
||||||
|
CaptureStderr: true,
|
||||||
|
PreserveWhitespace: false,
|
||||||
|
})
|
||||||
|
framework.Logf("Dump iptables and connntrack flows\n%s", output)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
return returnMsg
|
return returnMsg
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user