// Module included in the following assemblies:
//
// assembly-node-scheduling.adoc

[id='con-scheduling-to-specific-nodes-{context}']
= Node scheduling

The Kubernetes cluster usually consists of many different types of worker nodes.
Some are optimized for CPU heavy workloads, some for memory, while other might be optimized for storage (fast local SSDs) or network.
Using different nodes helps to optimize both costs and performance.
To achieve the best possible performance, it is important to allow scheduling of {ProductName} components to use the right nodes.

Kubernetes uses node affinity to schedule workloads onto specific nodes.
Node affinity allows you to create a scheduling constraint for the node on which the pod will be scheduled.
The constraint is specified as a label selector.
You can specify the label using either the built-in node label like `beta.kubernetes.io/instance-type` or custom labels to select the right node.
