Bird
Raised Fist0
Kubernetesdevops~20 mins

Why probes keep applications healthy in Kubernetes - Challenge Your Understanding

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Probes Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Purpose of Kubernetes Readiness Probe

What is the main purpose of a readiness probe in Kubernetes?

ATo monitor the CPU and memory usage of the pod
BTo restart the container if it crashes or becomes unresponsive
CTo check if the application is ready to receive traffic and only then add it to the service endpoints
DTo update the container image automatically when a new version is available
Attempts:
2 left
💡 Hint

Think about when Kubernetes should send traffic to a pod.

💻 Command Output
intermediate
2:00remaining
Output of a Failing Liveness Probe

Given the following liveness probe configuration, what will Kubernetes do if the probe fails repeatedly?

Kubernetes
livenessProbe:
  httpGet:
    path: /healthz
    port: 8080
  initialDelaySeconds: 5
  periodSeconds: 10
  failureThreshold: 3
AKubernetes will delete the pod permanently
BKubernetes will stop sending traffic to the pod but will not restart it
CKubernetes will ignore the failures and keep the container running
DKubernetes will restart the container after 3 consecutive failures of the probe
Attempts:
2 left
💡 Hint

Remember what a liveness probe is designed to do.

🔀 Workflow
advanced
2:30remaining
Order of Probe Checks in Kubernetes

Arrange the following Kubernetes probe checks in the order they are typically performed during pod lifecycle:

A1,2,3,4
B2,1,4,3
C2,3,1,4
D3,2,1,4
Attempts:
2 left
💡 Hint

Think about what happens first when a pod starts and how traffic is routed.

❓ Troubleshoot
advanced
2:00remaining
Troubleshooting a Pod Not Receiving Traffic

A pod is running but not receiving any traffic. The readiness probe is configured but the pod never becomes ready. What is the most likely cause?

AThe readiness probe is failing, so Kubernetes does not add the pod to service endpoints
BThe liveness probe is failing, causing the pod to restart repeatedly
CThe pod has insufficient CPU resources and is throttled
DThe container image is outdated and incompatible with the cluster
Attempts:
2 left
💡 Hint

Focus on what controls traffic routing to pods.

✅ Best Practice
expert
2:30remaining
Best Practice for Using Startup Probes

Why is it recommended to use a startup probe for applications with long initialization times?

ATo prevent Kubernetes from killing the container prematurely before it finishes starting
BTo speed up the pod startup by skipping readiness checks
CTo automatically scale the number of pods based on startup time
DTo disable liveness and readiness probes during startup
Attempts:
2 left
💡 Hint

Think about what happens if liveness probes run too early on slow-starting apps.

Practice

(1/5)
1. What is the main purpose of a liveness probe in Kubernetes?
easy
A. To check if the application is running and restart it if it is not healthy
B. To control when the application receives user traffic
C. To update the application configuration automatically
D. To monitor the CPU usage of the application

Solution

  1. Step 1: Understand liveness probe role

    Liveness probes check if the app is alive and working properly.
  2. Step 2: Identify action on failure

    If the liveness probe fails, Kubernetes restarts the app to fix it.
  3. Final Answer:

    To check if the application is running and restart it if it is not healthy -> Option A
  4. Quick Check:

    Liveness probe = restarts unhealthy app [OK]
Hint: Liveness probe restarts app if unhealthy [OK]
Common Mistakes:
  • Confusing liveness with readiness probe
  • Thinking liveness controls traffic
  • Assuming liveness updates configs
2. Which of the following is the correct syntax to define a readiness probe in a Kubernetes pod spec?
easy
A. readinessProbe: httpGet: path: /ready port: 8080 initialDelaySeconds: 5 periodSeconds: 10
B. livenessProbe: exec: command: ["curl", "/health"] timeoutSeconds: 3
C. readinessProbe: tcpSocket: port: 80 failureThreshold: 5
D. startupProbe: httpGet: path: /start port: 9090 periodSeconds: 15

Solution

  1. Step 1: Identify readiness probe syntax

    Readiness probes often use httpGet with path and port defined.
  2. Step 2: Match correct YAML structure

    readinessProbe: httpGet: path: /ready port: 8080 initialDelaySeconds: 5 periodSeconds: 10 shows readinessProbe with httpGet, initialDelaySeconds, and periodSeconds correctly.
  3. Final Answer:

    readinessProbe: httpGet: path: /ready port: 8080 initialDelaySeconds: 5 periodSeconds: 10 -> Option A
  4. Quick Check:

    Readiness probe syntax = readinessProbe: httpGet: path: /ready port: 8080 initialDelaySeconds: 5 periodSeconds: 10 [OK]
Hint: Readiness probe uses httpGet with path and port [OK]
Common Mistakes:
  • Mixing liveness and readiness probe syntax
  • Using startupProbe instead of readinessProbe
  • Incorrect indentation or missing fields
3. Given this pod spec snippet, what happens if the readiness probe fails?
readinessProbe:
  httpGet:
    path: /healthz
    port: 8080
  initialDelaySeconds: 5
  periodSeconds: 10
medium
A. The pod is restarted immediately
B. The pod stops receiving new traffic but keeps running
C. The pod is deleted from the cluster
D. Nothing happens; the pod continues as normal

Solution

  1. Step 1: Understand readiness probe effect

    Readiness probe controls if pod is ready to get user traffic.
  2. Step 2: Identify behavior on failure

    If readiness probe fails, pod stays running but is removed from service endpoints, so no new traffic.
  3. Final Answer:

    The pod stops receiving new traffic but keeps running -> Option B
  4. Quick Check:

    Readiness failure = no traffic, pod runs [OK]
Hint: Readiness failure stops traffic, no restart [OK]
Common Mistakes:
  • Thinking readiness failure restarts pod
  • Confusing readiness with liveness probe
  • Assuming pod deletion on readiness failure
4. You notice your application pod keeps restarting frequently. The liveness probe is defined as:
livenessProbe:
  httpGet:
    path: /health
    port: 8080
  initialDelaySeconds: 5
  periodSeconds: 10
  failureThreshold: 3
What is the most likely cause?
medium
A. The readiness probe is missing
B. The liveness probe is incorrectly configured with wrong port
C. The pod has insufficient CPU resources
D. The application is not responding to the /health endpoint in time

Solution

  1. Step 1: Analyze liveness probe behavior

    Liveness probe checks /health on port 8080 every 10 seconds after 5 seconds delay.
  2. Step 2: Understand restart cause

    If app does not respond correctly 3 times (failureThreshold), Kubernetes restarts pod.
  3. Final Answer:

    The application is not responding to the /health endpoint in time -> Option D
  4. Quick Check:

    Liveness failure = app not responding, causes restart [OK]
Hint: Liveness failure causes restart due to no response [OK]
Common Mistakes:
  • Assuming readiness probe causes restart
  • Ignoring failureThreshold effect
  • Blaming resource limits without evidence
5. You want to ensure your app only receives traffic after it finishes loading data and is ready. Which probe setup achieves this best?
hard
A. Use a startup probe that immediately sends traffic to the app
B. Use a liveness probe that restarts the app if /health fails
C. Use a readiness probe that checks a /ready endpoint returning success after data load
D. Use both liveness and readiness probes checking the same /health endpoint

Solution

  1. Step 1: Identify probe controlling traffic

    Readiness probe controls when app receives user traffic.
  2. Step 2: Choose probe matching app readiness

    Readiness probe checking /ready after data load ensures traffic only after app is ready.
  3. Step 3: Exclude other options

    Liveness restarts app but does not control traffic; startup probe delays startup but not traffic control.
  4. Final Answer:

    Use a readiness probe that checks a /ready endpoint returning success after data load -> Option C
  5. Quick Check:

    Readiness probe controls traffic flow [OK]
Hint: Readiness probe controls traffic after app is ready [OK]
Common Mistakes:
  • Using liveness probe to control traffic
  • Confusing startup probe with readiness probe
  • Checking same endpoint for both probes
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