Bird
Raised Fist0
Kubernetesdevops~5 mins

HTTP probe configuration in Kubernetes - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is an HTTP readiness probe in Kubernetes?
An HTTP readiness probe checks if a container is ready to accept traffic by sending an HTTP request to a specified endpoint. If the probe succeeds, Kubernetes routes traffic to the container.
Click to reveal answer
beginner
What fields are essential to configure an HTTP liveness probe in a Pod spec?
Key fields include httpGet (with path and port), initialDelaySeconds, periodSeconds, and timeoutSeconds. These define how Kubernetes checks if the container is alive.
Click to reveal answer
beginner
How does Kubernetes react if an HTTP liveness probe fails repeatedly?
If the liveness probe fails multiple times, Kubernetes restarts the container to try to fix the problem and keep the application healthy.
Click to reveal answer
intermediate
What is the difference between readiness and liveness probes using HTTP?
Readiness probes check if the app is ready to serve traffic, while liveness probes check if the app is alive and should be restarted if not responding.
Click to reveal answer
beginner
Show a simple example of an HTTP readiness probe configuration in a Kubernetes Pod spec.
Example:
readinessProbe:
  httpGet:
    path: /health
    port: 8080
  initialDelaySeconds: 5
  periodSeconds: 10
Click to reveal answer
What does the httpGet field specify in an HTTP probe?
AThe container image to use
BThe command to run inside the container
CThe TCP port to open
DThe HTTP path and port to check
What happens if a readiness probe fails?
AKubernetes stops sending traffic to the container
BKubernetes restarts the container immediately
CNothing happens
DThe pod is deleted
Which field controls how long Kubernetes waits before starting probes?
AtimeoutSeconds
BperiodSeconds
CinitialDelaySeconds
DfailureThreshold
What is the default protocol used in an HTTP probe?
AHTTPS
BHTTP
CTCP
DUDP
If an HTTP liveness probe fails, what is Kubernetes' typical response?
ARestart the container
BStop the pod permanently
CIgnore the failure
DSend an alert only
Explain how to configure an HTTP readiness probe in a Kubernetes Pod and why it is important.
Think about how Kubernetes knows when to send traffic to your app.
You got /3 concepts.
    Describe the difference between HTTP liveness and readiness probes and their effects on container lifecycle.
    One decides if the app gets traffic, the other decides if the app needs restarting.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of an HTTP probe in Kubernetes?
      easy
      A. To deploy new versions of the application automatically
      B. To store application logs for debugging
      C. To check if the application is running and responding to HTTP requests
      D. To manage network traffic between pods

      Solution

      1. Step 1: Understand the role of HTTP probes

        HTTP probes send HTTP requests to the app to check if it is alive and ready.
      2. Step 2: Identify the correct purpose

        Only To check if the application is running and responding to HTTP requests describes checking app health via HTTP requests.
      3. Final Answer:

        To check if the application is running and responding to HTTP requests -> Option C
      4. Quick Check:

        HTTP probe purpose = health check [OK]
      Hint: HTTP probes test app health by sending HTTP requests [OK]
      Common Mistakes:
      • Confusing probes with deployment or logging
      • Thinking probes manage network traffic
      • Assuming probes store logs
      2. Which of the following is the correct syntax to define an HTTP liveness probe in a Kubernetes pod spec?
      easy
      A. livenessProbe: exec: command: ["curl", "/healthz"] initialDelaySeconds: 5 periodSeconds: 10
      B. livenessProbe: httpGet: path: /healthz port: 8080 initialDelaySeconds: 5 periodSeconds: 10
      C. livenessProbe: tcpSocket: port: 8080 initialDelaySeconds: 5 periodSeconds: 10
      D. livenessProbe: httpGet: url: http://localhost:8080/healthz initialDelaySeconds: 5 periodSeconds: 10

      Solution

      1. Step 1: Review HTTP probe syntax

        The correct HTTP probe uses httpGet with path and port keys.
      2. Step 2: Identify the correct YAML structure

        livenessProbe: httpGet: path: /healthz port: 8080 initialDelaySeconds: 5 periodSeconds: 10 correctly uses httpGet with path and port. livenessProbe: httpGet: url: http://localhost:8080/healthz initialDelaySeconds: 5 periodSeconds: 10 is invalid because url is not a valid key.
      3. Final Answer:

        Correct HTTP liveness probe syntax with httpGet, path, and port -> Option B
      4. Quick Check:

        httpGet uses path and port keys [OK]
      Hint: Use httpGet with path and port, not url [OK]
      Common Mistakes:
      • Using 'url' instead of 'path' in httpGet
      • Confusing exec or tcpSocket probes with httpGet
      • Wrong indentation or missing keys
      3. Given this probe configuration snippet in a pod spec:
      livenessProbe:
        httpGet:
          path: /status
          port: 8080
        initialDelaySeconds: 10
        periodSeconds: 5
      
      What will Kubernetes do after the pod starts?
      medium
      A. Send an HTTP GET to /status only once after 10 seconds
      B. Send an HTTP GET to /status immediately, then every 10 seconds
      C. Wait 5 seconds, then send an HTTP GET to /status every 10 seconds
      D. Wait 10 seconds, then send an HTTP GET to /status every 5 seconds

      Solution

      1. Step 1: Understand initialDelaySeconds

        This value tells Kubernetes to wait 10 seconds after pod start before first probe.
      2. Step 2: Understand periodSeconds

        This value sets the interval between probes, here every 5 seconds.
      3. Final Answer:

        Wait 10 seconds, then send an HTTP GET to /status every 5 seconds -> Option D
      4. Quick Check:

        initialDelaySeconds = wait, periodSeconds = repeat interval [OK]
      Hint: initialDelaySeconds = wait before first probe, periodSeconds = probe interval [OK]
      Common Mistakes:
      • Confusing initialDelaySeconds with periodSeconds
      • Assuming immediate probe on pod start
      • Mixing up timing values
      4. You configured this HTTP readiness probe:
      readinessProbe:
        httpGet:
          path: /ready
          port: 80
        initialDelaySeconds: 5
        periodSeconds: 10
        timeoutSeconds: 2
      
      But Kubernetes marks the pod as not ready even though the app is healthy. What is the likely problem?
      medium
      A. The probe path /ready is incorrect or not handled by the app
      B. initialDelaySeconds is too high, delaying readiness
      C. timeoutSeconds is too long, causing probe to fail
      D. periodSeconds is too short, causing probe overload

      Solution

      1. Step 1: Check probe path correctness

        If the app does not respond correctly to /ready, probe fails and pod is not ready.
      2. Step 2: Evaluate timing parameters

        initialDelaySeconds of 5 is reasonable; timeoutSeconds of 2 is short but typical; periodSeconds of 10 is normal.
      3. Final Answer:

        The probe path /ready is incorrect or not handled by the app -> Option A
      4. Quick Check:

        Probe path must match app endpoint [OK]
      Hint: Check if probe path matches app endpoint exactly [OK]
      Common Mistakes:
      • Ignoring probe path correctness
      • Changing timing values unnecessarily
      • Assuming timeoutSeconds causes readiness failure
      5. You want to configure a Kubernetes HTTP readiness probe that waits 15 seconds after container start, then checks the path /health every 3 seconds, but fails the pod if no response within 1 second. Which is the correct probe configuration snippet?
      hard
      A. readinessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 15 periodSeconds: 3 timeoutSeconds: 1
      B. readinessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 3 periodSeconds: 15 timeoutSeconds: 1
      C. readinessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 15 periodSeconds: 1 timeoutSeconds: 3
      D. readinessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 1 periodSeconds: 15 timeoutSeconds: 3

      Solution

      1. Step 1: Match initialDelaySeconds to 15 seconds

        The probe must wait 15 seconds before first check, so initialDelaySeconds: 15.
      2. Step 2: Set periodSeconds to 3 seconds and timeoutSeconds to 1 second

        Checks happen every 3 seconds, and timeout is 1 second as required.
      3. Final Answer:

        Correct probe with initialDelaySeconds 15, periodSeconds 3, timeoutSeconds 1 -> Option A
      4. Quick Check:

        initialDelay=15, period=3, timeout=1 matches requirements [OK]
      Hint: Match timing values exactly to requirements [OK]
      Common Mistakes:
      • Swapping initialDelaySeconds and periodSeconds
      • Setting timeoutSeconds longer than periodSeconds
      • Using wrong path or port
      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