Bird
Raised Fist0
Kubernetesdevops~5 mins

Scaling Deployments in Kubernetes - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of scaling a deployment in Kubernetes?
Scaling a deployment adjusts the number of pod replicas to handle more or less workload, ensuring the application can meet demand efficiently.
Click to reveal answer
beginner
Which command scales a deployment named 'webapp' to 5 replicas?
kubectl scale deployment webapp --replicas=5
Click to reveal answer
intermediate
What is the difference between manual and automatic scaling in Kubernetes?
Manual scaling requires you to specify the number of replicas yourself. Automatic scaling uses metrics like CPU usage to adjust replicas automatically.
Click to reveal answer
intermediate
What Kubernetes resource is used for automatic scaling of deployments?
The Horizontal Pod Autoscaler (HPA) automatically adjusts the number of pod replicas based on observed metrics like CPU or memory usage.
Click to reveal answer
beginner
How do you check the current number of replicas for a deployment named 'api-server'?
Use the command: kubectl get deployment api-server to see the current replicas and status.
Click to reveal answer
Which command scales a deployment named 'frontend' to 3 replicas?
Akubectl set replicas frontend 3
Bkubectl scale deployment frontend --replicas=3
Ckubectl deploy scale frontend 3
Dkubectl update deployment frontend replicas=3
What does the Horizontal Pod Autoscaler (HPA) use to decide when to scale pods?
ANumber of nodes in the cluster
BUser manual input
CMetrics like CPU or memory usage
DPod restart count
If you want to reduce the number of replicas from 10 to 4 manually, which command would you use?
Akubectl set replicas myapp 4
Bkubectl reduce deployment myapp 4
Ckubectl update deployment myapp replicas=4
Dkubectl scale deployment myapp --replicas=4
How can you view the current number of replicas and their status for a deployment?
Akubectl get deployment <deployment-name>
Bkubectl scale deployment
Ckubectl logs deployment
Dkubectl describe pods
Which of the following is NOT a benefit of scaling deployments?
AAutomatically fixing code bugs
BReducing resource waste
CHandling increased traffic
DImproving application availability
Explain how you would manually scale a Kubernetes deployment and why you might want to do this.
Think about adjusting the number of pods to match demand.
You got /4 concepts.
    Describe what the Horizontal Pod Autoscaler does and how it helps manage deployments.
    Consider how Kubernetes can watch resource use and change pod count.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does scaling a Kubernetes deployment do?
      easy
      A. Changes the number of running copies (pods) of the app
      B. Updates the app's source code automatically
      C. Deletes the deployment from the cluster
      D. Changes the app's network settings

      Solution

      1. Step 1: Understand the purpose of scaling

        Scaling means adjusting how many copies of an app run to handle load or save resources.
      2. Step 2: Identify what scaling affects

        Scaling changes the number of pods, which are running instances of the app.
      3. Final Answer:

        Changes the number of running copies (pods) of the app -> Option A
      4. Quick Check:

        Scaling = Change pod count [OK]
      Hint: Scaling means changing pod count, not code or network [OK]
      Common Mistakes:
      • Thinking scaling updates app code
      • Confusing scaling with deleting deployments
      • Assuming scaling changes network settings
      2. Which is the correct command to scale a deployment named webapp to 5 replicas?
      easy
      A. kubectl scale pods webapp --count=5
      B. kubectl update deployment webapp --replicas 5
      C. kubectl set replicas webapp 5
      D. kubectl scale deployment webapp --replicas=5

      Solution

      1. Step 1: Recall the correct kubectl scale syntax

        The command to scale is kubectl scale deployment [name] --replicas=[number].
      2. Step 2: Match the command to the options

        kubectl scale deployment webapp --replicas=5 matches the correct syntax exactly for deployment webapp to 5 replicas.
      3. Final Answer:

        kubectl scale deployment webapp --replicas=5 -> Option D
      4. Quick Check:

        Correct scale syntax = kubectl scale deployment webapp --replicas=5 [OK]
      Hint: Use 'kubectl scale deployment NAME --replicas=N' exactly [OK]
      Common Mistakes:
      • Using 'pods' instead of 'deployment'
      • Wrong flag like --count instead of --replicas
      • Using 'kubectl update' which is invalid for scaling
      3. Given this command:
      kubectl scale deployment frontend --replicas=3
      What will be the number of pods running for the frontend deployment after execution?
      medium
      A. 0
      B. 1
      C. 3
      D. Depends on cluster resources

      Solution

      1. Step 1: Understand the scale command effect

        The command sets the number of replicas (pods) to 3 explicitly.
      2. Step 2: Determine the pod count after scaling

        After running, Kubernetes will ensure exactly 3 pods for the frontend deployment.
      3. Final Answer:

        3 -> Option C
      4. Quick Check:

        --replicas=3 means 3 pods [OK]
      Hint: Replicas number = pods count after scaling [OK]
      Common Mistakes:
      • Assuming pods stay at 1 by default
      • Thinking scaling depends on cluster resources
      • Confusing replicas with CPU or memory
      4. You run kubectl scale deployment backend --replicas=two but get an error. What is the problem?
      medium
      A. The deployment name 'backend' is invalid
      B. The replicas value must be a number, not a word
      C. The command should use 'kubectl update' instead
      D. You need to add --force flag to scale

      Solution

      1. Step 1: Check the replicas argument type

        The replicas flag requires a numeric value, not a word like 'two'.
      2. Step 2: Identify the cause of the error

        Using 'two' causes a syntax error because Kubernetes expects an integer.
      3. Final Answer:

        The replicas value must be a number, not a word -> Option B
      4. Quick Check:

        Replicas must be numeric [OK]
      Hint: Replicas must be a number, not text [OK]
      Common Mistakes:
      • Using words instead of numbers for replicas
      • Thinking deployment name is invalid without checking
      • Trying to use 'kubectl update' for scaling
      5. You want to scale a deployment named api-server from 2 to 10 replicas but only 6 nodes are available in your cluster. What will happen after running kubectl scale deployment api-server --replicas=10?
      hard
      A. Only 6 pods will run because of node limits, others stay pending
      B. The deployment will scale to 2 pods automatically
      C. The command will fail with an error about node count
      D. Kubernetes will create 10 pods regardless of node count

      Solution

      1. Step 1: Understand Kubernetes scheduling with limited nodes

        Kubernetes tries to run all requested pods but can only schedule as many as fit on available nodes.
      2. Step 2: Predict pod status with 10 replicas but 6 nodes

        Only 6 pods will be scheduled and running; the other 4 pods remain pending until resources free up.
      3. Final Answer:

        Only 6 pods will run because of node limits, others stay pending -> Option A
      4. Quick Check:

        Pods limited by nodes = pending pods [OK]
      Hint: Pods > nodes means some pods stay pending [OK]
      Common Mistakes:
      • Assuming all pods run regardless of nodes
      • Expecting command to fail on node shortage
      • Thinking deployment scales down 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