Bird
Raised Fist0
Kubernetesdevops~5 mins

Service selectors and labels in Kubernetes - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a label in Kubernetes?
A label is a key-value pair attached to Kubernetes objects like pods. It helps organize and select groups of objects.
Click to reveal answer
beginner
What does a service selector do in Kubernetes?
A service selector matches labels on pods to route network traffic to those pods.
Click to reveal answer
intermediate
How do labels and selectors work together in a Kubernetes Service?
Labels identify pods, and selectors in the service find pods with matching labels to send traffic to them.
Click to reveal answer
beginner
Can a service selector match multiple pods?
Yes, a service selector can match many pods if they share the same label key-value pairs.
Click to reveal answer
intermediate
What happens if a service selector does not match any pods?
The service will have no endpoints and will not route traffic to any pods.
Click to reveal answer
What is the purpose of labels in Kubernetes?
ATo organize and select objects
BTo store pod logs
CTo define network policies
DTo set resource limits
What does a service selector use to find pods?
APod names
BPod IP addresses
CNode names
DLabels on pods
If a service selector matches multiple pods, what happens?
ATraffic is load balanced across those pods
BOnly the first pod receives traffic
CTraffic is sent to the node instead
DThe service fails to start
What is a key difference between labels and annotations?
AAnnotations select pods; labels do not
BLabels are for selection; annotations are for metadata
CLabels are only for nodes
DAnnotations control network traffic
What happens if no pods match a service selector?
AThe service routes traffic to all pods
BThe service crashes
CThe service has no endpoints and no traffic is routed
DThe service creates new pods automatically
Explain how Kubernetes uses labels and selectors to route traffic to pods.
Think about how a service finds the right pods to send requests.
You got /3 concepts.
    Describe what happens when a service selector does not match any pods in Kubernetes.
    Consider the service's ability to send traffic without matching pods.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a selector in a Kubernetes Service?
      easy
      A. To match labels on pods so the service knows which pods to send traffic to
      B. To define the IP address of the service
      C. To specify the container image used by pods
      D. To set resource limits for pods

      Solution

      1. Step 1: Understand what selectors do

        A selector in a Kubernetes Service is used to find pods with matching labels.
      2. Step 2: Connect selectors to pods

        The service uses the selector to route traffic only to pods that have the matching labels.
      3. Final Answer:

        To match labels on pods so the service knows which pods to send traffic to -> Option A
      4. Quick Check:

        Selector matches pod labels [OK]
      Hint: Selector matches pod labels to connect service and pods [OK]
      Common Mistakes:
      • Thinking selector sets IP or image
      • Confusing selector with resource limits
      • Assuming selector is for service IP
      2. Which of the following is the correct way to specify a selector in a Service YAML to match pods with label app: frontend?
      easy
      A. matchLabels: app: frontend
      B. labels: app: frontend
      C. podSelector: app: frontend
      D. selector: app: frontend

      Solution

      1. Step 1: Identify correct selector syntax in Service YAML

        The Service spec uses selector: followed by key-value pairs to match pod labels.
      2. Step 2: Compare options

        selector: app: frontend uses selector: with app: frontend, which is correct. Others use incorrect keys like labels, matchLabels, or podSelector which are not valid in Service spec.
      3. Final Answer:

        selector: app: frontend -> Option D
      4. Quick Check:

        Service selector key is 'selector' [OK]
      Hint: Service selector key is always 'selector' not 'labels' or others [OK]
      Common Mistakes:
      • Using 'labels' instead of 'selector'
      • Confusing with pod label syntax
      • Using 'matchLabels' which is for label selectors, not Service
      3. Given this Service selector:
      selector:
        tier: backend
        env: prod
      Which pods will this Service select?
      medium
      A. Pods with label tier=backend only
      B. Pods with labels tier=backend and env=prod
      C. Pods with label env=prod only
      D. Pods with either tier=backend or env=prod

      Solution

      1. Step 1: Understand selector matching logic

        A Service selector matches pods that have all the specified labels with exact values.
      2. Step 2: Apply to given selector

        The selector requires pods to have both tier=backend and env=prod labels to be selected.
      3. Final Answer:

        Pods with labels tier=backend and env=prod -> Option B
      4. Quick Check:

        Selector matches all labels, not any [OK]
      Hint: Selector matches pods with all labels, not just one [OK]
      Common Mistakes:
      • Thinking selector matches pods with any one label
      • Ignoring one of the labels in selector
      • Confusing OR with AND logic in selectors
      4. You have a Service with this selector:
      selector:
        app: myapp
        version: v1
      But your pods have labels:
      app: myapp
      version: v2
      What is the problem?
      medium
      A. The Service selector syntax is invalid
      B. The Service will select pods with version v2 anyway
      C. The Service selector does not match any pods because version labels differ
      D. Pods need a label 'service: myapp' to be selected

      Solution

      1. Step 1: Compare Service selector and pod labels

        The Service selector requires version: v1, but pods have version: v2.
      2. Step 2: Understand label matching rules

        Labels must match exactly for the pod to be selected. Different version values mean no match.
      3. Final Answer:

        The Service selector does not match any pods because version labels differ -> Option C
      4. Quick Check:

        Exact label match required for selection [OK]
      Hint: Labels must match exactly; different values mean no selection [OK]
      Common Mistakes:
      • Assuming partial label match works
      • Thinking selector syntax is wrong
      • Believing extra pod labels are needed
      5. You want a Service to select pods with label app=web but exclude pods with label env=dev. How can you configure the selector?
      hard
      A. Use a selector with app: web and add a matchExpressions to exclude env=dev
      B. Use selector: app: web env: !dev
      C. Set selector: app: web env: dev
      D. Label pods with app=web and remove env label from dev pods

      Solution

      1. Step 1: Understand label selector limitations

        Simple selectors only match labels present; to exclude labels, use matchExpressions with operators.
      2. Step 2: Use matchExpressions to exclude

        You can specify matchExpressions with operator NotIn to exclude pods with env=dev.
      3. Step 3: Review options

        Use a selector with app: web and add a matchExpressions to exclude env=dev correctly describes using matchExpressions to exclude labels. Use selector: app: web env: !dev syntax is invalid. Set selector: app: web env: dev includes the label to exclude. Label pods with app=web and remove env label from dev pods is about pod labeling, not selector configuration.
      4. Final Answer:

        Use a selector with app: web and add a matchExpressions to exclude env=dev -> Option A
      5. Quick Check:

        Exclude labels using matchExpressions NotIn [OK]
      Hint: Use matchExpressions with NotIn to exclude labels in selector [OK]
      Common Mistakes:
      • Trying to exclude labels with simple selector syntax
      • Using invalid selector syntax like env: !dev
      • Confusing pod labeling with selector configuration
      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