Bird
Raised Fist0
Kubernetesdevops~10 mins

Adding labels to resources in Kubernetes - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the command to add a label to a pod named 'my-pod'.

Kubernetes
kubectl label pods my-pod [1] env=production
Drag options to blanks, or click blank then click option'
A--set
B--label
C--add
D--overwrite
Attempts:
3 left
💡 Hint
Common Mistakes
Using --set instead of --overwrite
Using --add which is not a valid flag
Using --label which is incorrect syntax
2fill in blank
medium

Complete the YAML snippet to add a label 'app: web' to a deployment.

Kubernetes
metadata:
  labels:
    [1]: web
Drag options to blanks, or click blank then click option'
Aapp
Bversion
Ctier
Denv
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'version' or 'env' which are different label keys
Using 'tier' which is unrelated here
3fill in blank
hard

Fix the error in the command to label a node named 'node1' with 'role=worker'.

Kubernetes
kubectl label nodes node1 [1] role=worker
Drag options to blanks, or click blank then click option'
A--replace
B--force
C--overwrite
D--update
Attempts:
3 left
💡 Hint
Common Mistakes
Using --force which is not a valid flag for labeling
Using --replace or --update which do not exist
4fill in blank
hard

Fill both blanks to add label 'env=prod' to a service named 'backend'.

Kubernetes
kubectl label service backend [1] [2]
Drag options to blanks, or click blank then click option'
Aenv=prod
Bteam=devops
C--overwrite
D--force
Attempts:
3 left
💡 Hint
Common Mistakes
Not using --overwrite flag
Using --force which is invalid
Swapping the order of flag and label
5fill in blank
hard

Fill all three blanks to create a pod YAML with labels 'app: frontend' and 'env: staging'.

Kubernetes
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
  labels:
    [1]: [2]
    [3]: staging
Drag options to blanks, or click blank then click option'
Aapp
Bfrontend
Cenv
Dproduction
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'production' instead of 'staging'
Mixing keys and values in wrong order

Practice

(1/5)
1. What is the main purpose of adding labels to Kubernetes resources?
easy
A. To change the resource's namespace
B. To increase resource memory limits
C. To organize and select resources easily
D. To delete resources automatically

Solution

  1. Step 1: Understand what labels do

    Labels are key-value pairs used to tag Kubernetes resources for identification and grouping.
  2. Step 2: Identify the purpose of labels

    Labels help organize, select, and manage resources easily, not change resource limits or namespaces.
  3. Final Answer:

    To organize and select resources easily -> Option C
  4. Quick Check:

    Labels = Organize & Select [OK]
Hint: Labels tag resources for easy grouping and selection [OK]
Common Mistakes:
  • Thinking labels change resource limits
  • Confusing labels with namespaces
  • Assuming labels delete resources
2. Which of the following is the correct command to add a label env=production to a pod named webapp?
easy
A. kubectl label pod webapp env=production
B. kubectl add label pod webapp env=production
C. kubectl set label pod webapp env=production
D. kubectl create label pod webapp env=production

Solution

  1. Step 1: Recall the correct kubectl command for labeling

    The correct command to add or update labels is kubectl label.
  2. Step 2: Check the syntax for labeling a pod

    The syntax is kubectl label pod [pod-name] key=value. So kubectl label pod webapp env=production is correct.
  3. Final Answer:

    kubectl label pod webapp env=production -> Option A
  4. Quick Check:

    Command = kubectl label [OK]
Hint: Use 'kubectl label' to add or change labels [OK]
Common Mistakes:
  • Using 'kubectl add label' which is invalid
  • Using 'kubectl set label' which is not a valid command
  • Using 'kubectl create label' which does not exist
3. What will be the output of this command if the pod webapp already has a label env=staging and you run:
kubectl label pod webapp env=production --overwrite
Then check labels with:
kubectl get pod webapp --show-labels?
medium
A. The pod will have label env=production
B. The pod will have both env=staging and env=production labels
C. The command will fail with an error
D. The pod will have no labels

Solution

  1. Step 1: Understand the --overwrite flag effect

    The --overwrite flag allows replacing an existing label value with a new one.
  2. Step 2: Apply the command to the existing label

    Since the pod has env=staging, running the command with --overwrite changes it to env=production.
  3. Final Answer:

    The pod will have label env=production -> Option A
  4. Quick Check:

    Overwrite replaces old label value [OK]
Hint: Use --overwrite to change existing label values [OK]
Common Mistakes:
  • Expecting both old and new labels to exist
  • Thinking command fails without --overwrite
  • Assuming labels get deleted
4. You tried to add a label to a deployment with:
kubectl label deployment version=1.0
But got an error: error: resource(s) were provided, but no name, label selector, or --all flag specified
What is the likely cause?
medium
A. You must specify a namespace with -n flag
B. You used the wrong command; should be kubectl add label
C. You need to add --overwrite flag
D. You did not specify the deployment name correctly

Solution

  1. Step 1: Analyze the error message

    The error says no name or selector was specified, meaning the resource name is missing or incorrect.
  2. Step 2: Check the command syntax

    The command requires the exact resource name after the resource type. If the deployment name is missing or misspelled, the error occurs.
  3. Final Answer:

    You did not specify the deployment name correctly -> Option D
  4. Quick Check:

    Resource name missing causes this error [OK]
Hint: Always specify exact resource name after type [OK]
Common Mistakes:
  • Using 'kubectl add label' which is invalid
  • Forgetting to specify resource name
  • Assuming --overwrite fixes missing name error
5. You want to add two labels tier=frontend and version=v2 to all pods with label app=web. Which command correctly does this?
hard
A. kubectl label pods -selector app=web tier=frontend version=v2
B. kubectl label pods --selector app=web tier=frontend version=v2
C. kubectl label pods -l app=web tier=frontend --overwrite version=v2
D. kubectl label pods --all tier=frontend version=v2

Solution

  1. Step 1: Use label selector to target pods

    The --selector or -l flag filters pods by label app=web.
  2. Step 2: Add multiple labels in one command

    You can add multiple labels by listing them separated by spaces after the resource selector.
  3. Step 3: Choose the correct syntax

    kubectl label pods --selector app=web tier=frontend version=v2 uses --selector and adds both labels correctly. kubectl label pods -selector app=web tier=frontend version=v2 is invalid because it uses a single dash for selector, kubectl label pods -l app=web tier=frontend --overwrite version=v2 misuses --overwrite, kubectl label pods --all tier=frontend version=v2 applies to all pods, not filtered.
  4. Final Answer:

    kubectl label pods --selector app=web tier=frontend version=v2 -> Option B
  5. Quick Check:

    Use --selector and list labels to add multiple [OK]
Hint: Use --selector (-l) to target resources by label [OK]
Common Mistakes:
  • Using -l without double dash or wrong syntax
  • Adding --overwrite unnecessarily
  • Using --all instead of selector
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