Hello, we have some questions about scheduler’s node_name plugin

There’s a node_name plugin in the Kubernetes default scheduler, it will check whether the predicate node’s name matches incoming pod’s spec.nodeName.
But it’s confusing us that this plugin looks like useless.

  1. The pod specified spec.nodeName field will bypass the default scheduler and be directly bound to the node.
  2. So when this node_name plugin is checking the pod with a predicate node, that pod’s node_name must be empty, thus it will always returns true/eligible for all nodes.

We think that since this plugin always returns ‘eligible’ for all nodes, it looks like ineffective. Do we understand this correctly, or is the plugin intended for a different purpose? Thanks!

Cluster information:

Kubernetes version: 1.30.2