Bird
Raised Fist0
Kubernetesdevops~10 mins

Why resource management matters in Kubernetes - Test Your Understanding

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

Complete the code to set a CPU request for a container in a Pod spec.

Kubernetes
resources:
  requests:
    cpu: [1]
Drag options to blanks, or click blank then click option'
A500m
B1000
C1TB
D2GB
Attempts:
3 left
💡 Hint
Common Mistakes
Using memory units like '2GB' for CPU requests
Using plain numbers without units
2fill in blank
medium

Complete the code to set a memory limit for a container in a Pod spec.

Kubernetes
resources:
  limits:
    memory: [1]
Drag options to blanks, or click blank then click option'
A500m
B1000m
C256Mi
D1CPU
Attempts:
3 left
💡 Hint
Common Mistakes
Using CPU units for memory
Using plain numbers without units
3fill in blank
hard

Fix the error in the resource request value to correctly request 1 CPU core.

Kubernetes
resources:
  requests:
    cpu: [1]
Drag options to blanks, or click blank then click option'
A1Mi
B1000m
C1m
D1GB
Attempts:
3 left
💡 Hint
Common Mistakes
Using '1Mi' or '1GB' for CPU
Using '1m' which is 0.001 CPU
4fill in blank
hard

Fill both blanks to set CPU and memory limits correctly.

Kubernetes
resources:
  limits:
    cpu: [1]
    memory: [2]
Drag options to blanks, or click blank then click option'
A1
B512Mi
C1000m
D2GB
Attempts:
3 left
💡 Hint
Common Mistakes
Using '1' for CPU without units
Using '2GB' which is valid but not the correct answer here
5fill in blank
hard

Fill all three blanks to create a resource request and limit for CPU and memory.

Kubernetes
resources:
  requests:
    cpu: [1]
    memory: [2]
  limits:
    cpu: [3]
Drag options to blanks, or click blank then click option'
A250m
B128Mi
C500m
D1
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing units between CPU and memory
Setting limits lower than requests

Practice

(1/5)
1. Why is resource management important in Kubernetes?
easy
A. It helps keep applications stable and fair in using CPU and memory.
B. It allows unlimited resource usage for all applications.
C. It disables resource limits to improve speed.
D. It automatically deletes unused pods.

Solution

  1. Step 1: Understand resource management purpose

    Resource management controls how much CPU and memory each app can use to avoid crashes and slowdowns.
  2. Step 2: Identify correct effect of resource management

    It ensures apps run smoothly and share resources fairly, preventing one app from using too much.
  3. Final Answer:

    It helps keep applications stable and fair in using CPU and memory. -> Option A
  4. Quick Check:

    Resource management = stability and fairness [OK]
Hint: Resource management = stable apps + fair CPU/memory use [OK]
Common Mistakes:
  • Thinking resource management allows unlimited usage
  • Confusing resource limits with deleting pods
  • Believing resource management disables limits
2. Which of the following is the correct way to specify resource requests in a pod YAML?
easy
A. resources: requests: cpu: "500m" memory: "128Mi"
B. resources: limits: cpu: "500m" memory: "128Mi"
C. resources: requests: cpu: 500 memory: 128
D. resources: requests: cpu: "500" memory: "128"

Solution

  1. Step 1: Check YAML syntax for resource requests

    Resource requests must be under 'resources.requests' with units like "500m" for CPU and "128Mi" for memory.
  2. Step 2: Identify correct units and structure

    resources: requests: cpu: "500m" memory: "128Mi" uses correct keys and units. resources: limits: cpu: "500m" memory: "128Mi" uses limits, not requests. Options A and D miss units or use wrong formats.
  3. Final Answer:

    resources: requests: cpu: "500m" memory: "128Mi" -> Option A
  4. Quick Check:

    Requests need units and correct YAML keys [OK]
Hint: Requests need units like 'm' for CPU and 'Mi' for memory [OK]
Common Mistakes:
  • Using limits instead of requests
  • Omitting units for CPU or memory
  • Using numeric values without quotes or units
3. Given this pod spec snippet, what happens if the container tries to use 1 CPU but the limit is 500m?
resources:
  requests:
    cpu: "250m"
  limits:
    cpu: "500m"
medium
A. The container can use up to 1 CPU without restrictions.
B. The container ignores limits and uses requested CPU only.
C. The container is limited to 500m CPU and cannot exceed it.
D. The container will be killed immediately for exceeding requests.

Solution

  1. Step 1: Understand CPU requests vs limits

    Requests are guaranteed CPU; limits are the max CPU allowed. Here, request is 250m, limit is 500m.
  2. Step 2: Analyze container CPU usage behavior

    If container tries to use 1 CPU, it exceeds the 500m limit, so Kubernetes restricts it to 500m CPU max.
  3. Final Answer:

    The container is limited to 500m CPU and cannot exceed it. -> Option C
  4. Quick Check:

    CPU limit caps usage at 500m [OK]
Hint: Limits cap max usage; requests guarantee minimum [OK]
Common Mistakes:
  • Confusing requests with limits
  • Thinking container can exceed CPU limit
  • Believing container is killed for exceeding requests
4. You set a pod's memory limit to 256Mi but the container crashes with an OOMKilled error. What is the likely cause?
medium
A. The memory limit was too high, causing a crash.
B. The container tried to use more than 256Mi memory and was killed.
C. The pod did not have any resource requests set.
D. The CPU limit was exceeded, causing the crash.

Solution

  1. Step 1: Understand OOMKilled meaning

    OOMKilled means the container used more memory than its limit and was terminated by Kubernetes.
  2. Step 2: Connect memory limit to crash cause

    Since the limit was 256Mi, using more causes the container to be killed to protect the node.
  3. Final Answer:

    The container tried to use more than 256Mi memory and was killed. -> Option B
  4. Quick Check:

    OOMKilled = memory limit exceeded [OK]
Hint: OOMKilled means memory limit exceeded and container killed [OK]
Common Mistakes:
  • Confusing CPU limit with memory limit
  • Assuming high memory limit causes crash
  • Ignoring resource requests impact
5. You have multiple pods competing for CPU on a node. Pod A requests 200m CPU and limits 400m, Pod B requests 300m and limits 600m. If the node has 1 CPU available, how should Kubernetes allocate CPU to keep apps stable?
hard
A. Kubernetes ignores requests and only enforces limits strictly.
B. Kubernetes allows pods to use unlimited CPU regardless of requests or limits.
C. Kubernetes kills Pod A because it has lower requests than Pod B.
D. Kubernetes guarantees each pod its requested CPU and throttles usage above limits if needed.

Solution

  1. Step 1: Understand CPU requests and limits in multi-pod scenario

    Requests are guaranteed CPU shares; limits are max allowed. Kubernetes schedules pods so requests fit node capacity.
  2. Step 2: Analyze CPU allocation with 1 CPU available

    Pod A gets at least 200m CPU, Pod B gets 300m CPU guaranteed. If usage exceeds limits, Kubernetes throttles CPU to keep node stable.
  3. Final Answer:

    Kubernetes guarantees each pod its requested CPU and throttles usage above limits if needed. -> Option D
  4. Quick Check:

    Requests guarantee CPU; limits cap usage [OK]
Hint: Requests guarantee CPU; limits cap max usage [OK]
Common Mistakes:
  • Thinking pods get unlimited CPU
  • Assuming pods with lower requests get killed
  • Believing limits are ignored
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