Each kind "node" is a Docker container, so you can inspect those in "normal" ways.
Try running kind create cluster
to create a single-node cluster. If you run docker stats
you will get CPU, memory, and network utilization information; you can also get the same data through the Docker Desktop application, selecting (whale) > Dashboard. This brings up some high-level statistics on the container. Sitting idle on a freshly created cluster, this seems to be consistently using about 30% CPU for me. (So 40-60% CPU for a control-plane node and three workers sounds believable.)
Similarly, since each "node" is a container, you can docker exec -it kind-control-plane bash
to get an interactive debugging shell in a node container. Once you're there, you can run top
and similar diagnostic commands. On my single node I see the top processes as kube-apiserver
(10%), kube-controller
(5%), etcd
(5%), and kubelet
(5%). Again, that seems reasonably normal, though it might be nice if it used less CPU sitting idle.