Node Selector

Kubernetes feature to schedule Pods on specific nodes using labels.

Node selectors in Kubernetes empower users to dictate the specific nodes upon which a pod should run, leveraging node labels. This feature is crucial in ensuring that pods are scheduled on nodes aligning with defined criteria such as hardware type or geographical region, optimizing resource allocation and application performance.

Functionality of Node Selectors

  • Criteria-Based Scheduling: Node selectors enable the assignment of pods to appropriate virtual machines based on predefined criteria or conditions, ensuring optimal hardware utilization.
  • Label-Based Allocation: Utilizing node labels, node selectors facilitate the scheduling of pods on specific nodes within the desired node pool.

Implementation of Node Selectors

When creating a node pool, users have the ability to assign specific labels to the nodes within that pool. After the allocation of these labels, node selectors can be employed within pods to dictate their scheduling on nodes within a designated node pool.

Practical Example

Consider a node pool named web-frontend labeled as usage=web-frontend. To ensure that the landing-page container is scheduled to run on nodes within this specific node pool, the nodeSelector would be specified in the pod deployment file as follows:

apiVersion: v1
kind: Pod
metadata:
 name: web-frontend
spec:
 containers:
 - name: landing-page
   image: landing-page:latest
 nodeSelector:
   usage: web-frontend
Last modified July 21, 2024: update (e2ae86c)