Bird
Raised Fist0
Kubernetesdevops~10 mins

Desired replicas vs actual replicas in Kubernetes - Interactive Practice

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

Complete the command to check the desired replicas of a deployment.

Kubernetes
kubectl get deployment my-app -o jsonpath='{{.spec.replicas}}' | grep [1]
Drag options to blanks, or click blank then click option'
Astatus
Bspec
Cmetadata
Ditems
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'status' instead of 'spec' to find desired replicas.
Confusing 'metadata' with replica count.
2fill in blank
medium

Complete the command to check the actual number of replicas currently running.

Kubernetes
kubectl get deployment my-app -o jsonpath='{{.[1].replicas}}'
Drag options to blanks, or click blank then click option'
Aspec
Bmetadata
Cstatus
Ditems
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'spec' instead of 'status' to get actual replicas.
Trying to get replicas from 'metadata'.
3fill in blank
hard

Fix the error in the command to get the number of ready replicas.

Kubernetes
kubectl get deployment my-app -o jsonpath='{{.status.[1]'
Drag options to blanks, or click blank then click option'
AreadyReplicas
Bready_replicas
Cready-replicas
DreadyReplicasCount
Attempts:
3 left
💡 Hint
Common Mistakes
Using underscores or dashes in the field name.
Guessing field names without checking Kubernetes docs.
4fill in blank
hard

Fill both blanks to create a command that shows desired and actual replicas side by side.

Kubernetes
kubectl get deployment my-app -o jsonpath='{.[1].replicas} {.[2].replicas}'
Drag options to blanks, or click blank then click option'
Aspec
Bstatus
Cmetadata
Ditems
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up 'spec' and 'status' fields.
Using 'metadata' which does not contain replica info.
5fill in blank
hard

Fill all three blanks to create a command that outputs desired replicas, ready replicas, and updated replicas.

Kubernetes
kubectl get deployment my-app -o jsonpath='{.[1].replicas} {.[2].[3]'
Drag options to blanks, or click blank then click option'
Aspec
Bstatus
CreadyReplicas
DupdatedReplicas
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong field names for ready replicas.
Confusing updated replicas with ready replicas.

Practice

(1/5)
1. What does the desired replicas value represent in a Kubernetes Deployment?
easy
A. The number of pods currently running
B. The number of containers inside a pod
C. The number of nodes in the cluster
D. The number of pod copies Kubernetes should run

Solution

  1. Step 1: Understand the role of desired replicas

    Desired replicas specify how many copies of a pod Kubernetes should maintain to run your app.
  2. Step 2: Differentiate from actual replicas

    Actual replicas show how many pods are currently running, which may differ temporarily.
  3. Final Answer:

    The number of pod copies Kubernetes should run -> Option D
  4. Quick Check:

    Desired replicas = target pod count [OK]
Hint: Desired replicas = target pods Kubernetes tries to run [OK]
Common Mistakes:
  • Confusing desired replicas with actual running pods
  • Thinking desired replicas count containers, not pods
  • Mixing desired replicas with cluster node count
2. Which of the following is the correct YAML snippet to set desired replicas to 3 in a Deployment?
easy
A. replicaCount: 3
B. desiredReplicas: 3
C. replicas: 3
D. pods: 3

Solution

  1. Step 1: Identify the correct field name in Deployment spec

    The correct field to set desired replicas is replicas under the spec section.
  2. Step 2: Verify syntax correctness

    Using replicas: 3 is valid YAML and recognized by Kubernetes.
  3. Final Answer:

    replicas: 3 -> Option C
  4. Quick Check:

    Use 'replicas' to set desired pod count [OK]
Hint: Use 'replicas' key in Deployment spec to set desired pods [OK]
Common Mistakes:
  • Using incorrect field names like desiredReplicas or replicaCount
  • Placing replicas outside the spec section
  • Using plural 'pods' instead of 'replicas'
3. You run kubectl get deployment myapp and see:
DESIRED=4, CURRENT=3, UP-TO-DATE=3, AVAILABLE=3
What does this mean?
medium
A. One pod has crashed and won't restart
B. Kubernetes is still creating the 4th pod
C. All pods are running as expected
D. Deployment is scaled down to 3 pods

Solution

  1. Step 1: Compare desired and current replicas

    Desired is 4 but current is 3, so Kubernetes aims for 4 pods but only 3 are running now.
  2. Step 2: Interpret the status fields

    Up-to-date and available are 3, meaning 3 pods are ready and updated; the 4th pod is likely starting.
  3. Final Answer:

    Kubernetes is still creating the 4th pod -> Option B
  4. Quick Check:

    Desired > Current means pods are still launching [OK]
Hint: Desired > Current means pods are starting or recovering [OK]
Common Mistakes:
  • Assuming pods crashed without checking events
  • Thinking deployment scaled down when desired is higher
  • Confusing available with desired replicas
4. You notice your Deployment's desired replicas is 5 but actual replicas stays at 3. Which is the most likely cause?
medium
A. Pods are stuck in Pending state due to resource limits
B. Deployment YAML has syntax errors
C. kubectl command was typed incorrectly
D. Actual replicas always match desired replicas instantly

Solution

  1. Step 1: Understand why actual replicas lag behind desired

    If actual replicas are less than desired, pods may be stuck starting, often due to resource constraints.
  2. Step 2: Eliminate other options

    Syntax errors prevent deployment creation, incorrect kubectl commands won't show this state, and actual replicas do not update instantly.
  3. Final Answer:

    Pods are stuck in Pending state due to resource limits -> Option A
  4. Quick Check:

    Pending pods cause actual < desired replicas [OK]
Hint: Check pod status if actual replicas < desired replicas [OK]
Common Mistakes:
  • Assuming syntax errors cause replica mismatch
  • Expecting instant replica count update
  • Ignoring pod scheduling issues
5. You want to ensure your Deployment always has 3 pods running. You set replicas: 3 but sometimes kubectl get pods shows only 2 running pods. What should you do to fix this?
hard
A. Check pod events and logs to find why one pod is not running and fix the issue
B. Increase replicas to 4 to force Kubernetes to create more pods
C. Delete the Deployment and recreate it with replicas set to 3
D. Ignore it; actual replicas will eventually match desired without intervention

Solution

  1. Step 1: Investigate why pods are missing

    Check pod events and logs to identify issues like crashes, scheduling failures, or resource limits causing pods not to run.
  2. Step 2: Fix the root cause

    Resolve the identified problem (e.g., fix image, increase resources) so Kubernetes can maintain 3 running pods as desired.
  3. Final Answer:

    Check pod events and logs to find why one pod is not running and fix the issue -> Option A
  4. Quick Check:

    Fix pod issues to match actual to desired replicas [OK]
Hint: Always check pod status and logs if replicas don't match [OK]
Common Mistakes:
  • Scaling replicas blindly without fixing pod issues
  • Deleting Deployment unnecessarily
  • Assuming Kubernetes fixes pod issues automatically
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