Bird
Raised Fist0
Kubernetesdevops~5 mins

Node selectors for simple scheduling in Kubernetes - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a node selector in Kubernetes?
A node selector is a simple way to tell Kubernetes to schedule a pod only on nodes that have specific labels. It helps control where pods run.
Click to reveal answer
beginner
How do you specify a node selector in a pod's YAML file?
You add a nodeSelector field under spec with key-value pairs matching node labels. For example:
spec:
  nodeSelector:
    disktype: ssd
Click to reveal answer
beginner
What happens if no nodes match the node selector labels?
The pod will stay in a pending state and will not be scheduled until a matching node becomes available.
Click to reveal answer
intermediate
Can a node selector use multiple labels?
Yes, you can specify multiple key-value pairs in nodeSelector. The pod will only schedule on nodes that have all those labels.
Click to reveal answer
beginner
How do you label a node in Kubernetes?
Use the command: kubectl label nodes <node-name> key=value. This adds a label to the node that can be matched by node selectors.
Click to reveal answer
What does a node selector do in Kubernetes?
AUpdates node software
BAutomatically scales nodes
CDeletes pods on nodes
DSchedules pods only on nodes with matching labels
Where do you specify the node selector in a pod YAML file?
AUnder metadata.labels
BUnder spec.nodeSelector
CUnder spec.containers
DUnder status.conditions
What happens if no nodes match the node selector labels?
APod is deleted automatically
BPod is scheduled on any node
CPod stays pending and is not scheduled
DPod runs on the master node
How do you add a label to a node?
Akubectl label nodes <node-name> key=value
Bkubectl add label <node-name> key=value
Ckubectl set label pod <pod-name> key=value
Dkubectl node label add key=value
Can a node selector require multiple labels?
AYes, all labels must match on the node
BNo, only one label is allowed
CYes, but only one label needs to match
DNo, node selectors do not use labels
Explain how node selectors control pod scheduling in Kubernetes.
Think about how pods find the right nodes to run on.
You got /5 concepts.
    Describe the steps to label a node and use that label to schedule a pod.
    Start from labeling the node, then tell the pod to use that label.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of using nodeSelector in a Kubernetes Pod specification?
      easy
      A. To limit the number of pods running in the cluster
      B. To schedule pods only on nodes with specific labels
      C. To automatically update pods when nodes change
      D. To create a backup of pod data on nodes

      Solution

      1. Step 1: Understand nodeSelector role

        The nodeSelector field in a Pod spec is used to specify labels that a node must have for the pod to be scheduled there.
      2. Step 2: Compare options with nodeSelector purpose

        Only To schedule pods only on nodes with specific labels correctly describes this scheduling control. Other options describe unrelated features.
      3. Final Answer:

        To schedule pods only on nodes with specific labels -> Option B
      4. Quick Check:

        nodeSelector = schedule pods on labeled nodes [OK]
      Hint: nodeSelector matches pod to node labels for placement [OK]
      Common Mistakes:
      • Thinking nodeSelector limits pod count
      • Confusing nodeSelector with pod updates
      • Assuming nodeSelector backs up pod data
      2. Which of the following is the correct syntax to specify a nodeSelector in a Pod YAML manifest?
      easy
      A. nodeSelector: disktype=ssd
      B. nodeSelector: - disktype: ssd
      C. nodeSelector: disktype: ssd
      D. nodeSelector: [disktype=ssd]

      Solution

      1. Step 1: Recall nodeSelector YAML format

        nodeSelector is a map of key-value pairs under the nodeSelector field, indented properly.
      2. Step 2: Check each option's syntax

        nodeSelector: disktype: ssd uses correct YAML mapping with key and value properly indented. Options B, C, and D use invalid YAML or wrong formats.
      3. Final Answer:

        nodeSelector: disktype: ssd -> Option C
      4. Quick Check:

        nodeSelector uses key: value map in YAML [OK]
      Hint: Use key: value under nodeSelector with proper indentation [OK]
      Common Mistakes:
      • Using list syntax instead of map
      • Writing nodeSelector as a string
      • Incorrect indentation causing YAML errors
      3. Given the following node labels:
      node1: disktype=ssd
      node2: disktype=hdd
      And this Pod spec snippet:
      spec:
        nodeSelector:
          disktype: ssd
      On which node will the Pod be scheduled?
      medium
      A. node1
      B. node2
      C. Either node1 or node2
      D. No node, pod will remain pending

      Solution

      1. Step 1: Match pod nodeSelector with node labels

        The pod requires a node with label disktype=ssd. node1 has this label, node2 does not.
      2. Step 2: Determine pod scheduling

        Since only node1 matches the label, the pod will be scheduled on node1.
      3. Final Answer:

        node1 -> Option A
      4. Quick Check:

        Pod nodeSelector matches node1 label [OK]
      Hint: Pod schedules only on nodes matching all nodeSelector labels [OK]
      Common Mistakes:
      • Assuming pod can schedule on any node
      • Ignoring label key-value exact match
      • Thinking pod schedules on multiple nodes simultaneously
      4. You wrote this Pod spec:
      spec:
        nodeSelector:
          disk-type: ssd
      But your nodes have label disktype=ssd (no dash). What will happen when you try to schedule the Pod?
      medium
      A. Pod will remain pending, no matching nodes found
      B. Pod will schedule on nodes with label disktype=ssd
      C. Pod will schedule on nodes with label disk-type=ssd
      D. Pod will schedule on any available node

      Solution

      1. Step 1: Compare nodeSelector key with node labels

        The pod requests nodes with label disk-type=ssd, but nodes have disktype=ssd. The keys differ by a dash.
      2. Step 2: Understand label matching behavior

        Labels must match exactly. Since no node has disk-type=ssd, pod cannot be scheduled.
      3. Final Answer:

        Pod will remain pending, no matching nodes found -> Option A
      4. Quick Check:

        Label keys must match exactly for nodeSelector [OK]
      Hint: Label keys must match exactly, including dashes [OK]
      Common Mistakes:
      • Assuming partial key match works
      • Thinking pod schedules on any node if no match
      • Confusing label key spelling
      5. You want to ensure a Pod runs only on nodes labeled region=us-west and disktype=ssd. Which is the correct nodeSelector configuration?
      hard
      A. nodeSelector: region: us-west, disktype: ssd
      B. nodeSelector: region=us-west disktype=ssd
      C. nodeSelector: - region=us-west - disktype=ssd
      D. nodeSelector: region: us-west disktype: ssd

      Solution

      1. Step 1: Understand nodeSelector format for multiple labels

        nodeSelector is a map of key-value pairs, each on its own line with proper indentation.
      2. Step 2: Evaluate each option's syntax

        nodeSelector: region: us-west disktype: ssd correctly lists two key-value pairs. nodeSelector: region: us-west, disktype: ssd uses invalid comma syntax. nodeSelector: - region=us-west - disktype=ssd uses list syntax which is invalid. nodeSelector: region=us-west disktype=ssd uses equals signs incorrectly.
      3. Final Answer:

        nodeSelector: region: us-west disktype: ssd -> Option D
      4. Quick Check:

        Multiple labels in nodeSelector use separate key: value lines [OK]
      Hint: List each label as key: value pair under nodeSelector [OK]
      Common Mistakes:
      • Using commas to separate labels
      • Using list syntax instead of map
      • Using equals signs instead of colon in YAML
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard