Running e2e-node tests
$ KUBE_ROOT=$(pwd) make test-e2e-node TEST_ARGS='--kubelet-flags="--fail-swap-on=false"' FOCUS=Kubelet SKIP=container

The code below searches for the Kubernetes source code root directory. However, since your local setup often doesn't match this structure, specifying KUBE_ROOT makes it work.

func RootDir() (string, error) {
	// Get the directory of the current executable
	_, testExec, _, _ := runtime.Caller(0)
	path := filepath.Dir(testExec)

	// Look for the kubernetes source root directory
	if strings.Contains(path, "k8s.io/kubernetes") {
		splitPath := strings.Split(path, "k8s.io/kubernetes")
		return splitPath[0], nil
	}

	return "", errors.New("could not find kubernetes source root directory")
}

The main documentation for running the tests is here. I installed and configured CNI as follows:

Installing CNI
$ CNI_VERSION=v1.5.1
$ wget https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-linux-amd64-${CNI_VERSION}.tgz
$ sudo tar -xvf cni-plugins-linux-amd64-${CNI_VERSION}.tgz -C /opt/cni/bin/

Logs are stored in /tmp/_artifacts/$(date)/. For example: tail -f /tmp/_artifacts/240921T205914/kubelet.log