Bird
Raised Fist0
Kubernetesdevops~5 mins

Readiness probe concept in Kubernetes - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a readiness probe in Kubernetes?
A readiness probe checks if a container is ready to accept traffic. It helps Kubernetes know when to send requests to the container.
Click to reveal answer
beginner
How does Kubernetes use readiness probes in managing pods?
Kubernetes uses readiness probes to decide if a pod should receive traffic. If the probe fails, the pod is removed from the service endpoints until it passes again.
Click to reveal answer
intermediate
Name three types of readiness probes supported by Kubernetes.
Kubernetes supports HTTP GET, TCP socket, and command execution probes for readiness checks.
Click to reveal answer
intermediate
What happens if a readiness probe fails continuously?
If a readiness probe fails continuously, Kubernetes stops sending traffic to the pod but does not restart it. The pod stays running but is marked as not ready.
Click to reveal answer
beginner
Why is a readiness probe different from a liveness probe?
A readiness probe checks if a pod can receive traffic, while a liveness probe checks if a pod is alive and should be restarted if it fails.
Click to reveal answer
What does a readiness probe in Kubernetes do?
AChecks if a container is ready to accept traffic
BRestarts a container if it crashes
CMonitors CPU usage of a container
DScales the number of pods automatically
Which of these is NOT a type of readiness probe?
AHTTP GET
BMemory usage check
CCommand execution
DTCP socket
If a readiness probe fails, what does Kubernetes do?
ADeletes the pod
BRestarts the pod immediately
CStops sending traffic to the pod
DScales up the pod count
How is a readiness probe different from a liveness probe?
AReadiness probe restarts pods, liveness probe does not
BThey are the same
CLiveness probe checks traffic readiness, readiness probe checks CPU
DReadiness probe checks if pod can receive traffic, liveness probe checks if pod is alive
Which Kubernetes object uses readiness probes to manage traffic routing?
AService
BPod
CConfigMap
DNamespace
Explain what a readiness probe is and why it is important in Kubernetes.
Think about how Kubernetes decides if a pod can handle requests.
You got /3 concepts.
    Describe the types of readiness probes and how Kubernetes reacts when a readiness probe fails.
    Consider the methods Kubernetes uses to check pod readiness and the impact of failure.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a readiness probe in Kubernetes?
      easy
      A. To tell Kubernetes when a container is ready to receive traffic
      B. To restart a container if it crashes
      C. To monitor the CPU usage of a container
      D. To update the container image automatically

      Solution

      1. Step 1: Understand readiness probe role

        A readiness probe checks if a container is ready to accept requests, preventing traffic to unready containers.
      2. Step 2: Compare with other options

        Other options describe different Kubernetes features: restarts (liveness probe), monitoring (metrics), and updates (deployments).
      3. Final Answer:

        To tell Kubernetes when a container is ready to receive traffic -> Option A
      4. Quick Check:

        Readiness probe = container readiness [OK]
      Hint: Readiness probe controls traffic flow to containers [OK]
      Common Mistakes:
      • Confusing readiness probe with liveness probe
      • Thinking readiness probe restarts containers
      • Assuming readiness probe monitors resource usage
      2. Which of the following is a valid way to define a readiness probe in a Kubernetes pod spec?
      easy
      A. readinessProbe: httpGet: path: /health port: 8080
      B. readinessProbe: restartPolicy: Always
      C. readinessProbe: exec: command: ["curl", "-f", "http://localhost:8080"]
      D. readinessProbe: tcpSocket: port: 8080

      Solution

      1. Step 1: Review readiness probe types

        Valid readiness probes include httpGet, tcpSocket, and exec commands.
      2. Step 2: Check syntax correctness

        readinessProbe: httpGet: path: /health port: 8080 is now correctly indented. readinessProbe: exec: command: ["curl", "-f", "http://localhost:8080"] uses exec with correct command syntax as a list of strings. readinessProbe: tcpSocket: port: 8080 correctly defines tcpSocket with port. readinessProbe: restartPolicy: Always is invalid because restartPolicy is not part of readiness probe.
      3. Final Answer:

        readinessProbe with tcpSocket and port -> Option D
      4. Quick Check:

        Valid readiness probe syntax = tcpSocket [OK]
      Hint: Check indentation and valid probe keys for readiness probe [OK]
      Common Mistakes:
      • Misplacing restartPolicy inside readinessProbe
      • Incorrect command format in exec probe
      • Wrong indentation causing YAML errors
      3. Given this readiness probe configuration in a pod spec:
      readinessProbe:
        httpGet:
          path: /ready
          port: 8080
        initialDelaySeconds: 5
        periodSeconds: 10
      
      What happens if the HTTP GET request to /ready returns status 503?
      medium
      A. Kubernetes ignores the failure and continues sending traffic
      B. Kubernetes restarts the container immediately
      C. Kubernetes marks the container as not ready and stops sending traffic
      D. Kubernetes deletes the pod

      Solution

      1. Step 1: Understand readiness probe failure effect

        If the readiness probe fails (like HTTP 503), Kubernetes marks the container as not ready and stops routing traffic to it.
      2. Step 2: Differentiate from liveness probe

        Liveness probe failure causes restarts, but readiness probe failure only affects traffic routing, not container lifecycle.
      3. Final Answer:

        Kubernetes marks the container as not ready and stops sending traffic -> Option C
      4. Quick Check:

        Readiness failure = no traffic [OK]
      Hint: Readiness failure stops traffic, does not restart container [OK]
      Common Mistakes:
      • Confusing readiness probe failure with liveness probe failure
      • Assuming container restarts on readiness failure
      • Thinking pod gets deleted on readiness failure
      4. You defined this readiness probe in your pod YAML:
      readinessProbe:
        exec:
          command: ["cat", "/tmp/ready"]
        initialDelaySeconds: 5
        periodSeconds: 10
      
      But Kubernetes always marks the pod as not ready. What is the most likely cause?
      medium
      A. The exec command syntax is invalid
      B. The file /tmp/ready does not exist or is empty
      C. initialDelaySeconds is too short
      D. periodSeconds is too long

      Solution

      1. Step 1: Understand exec readiness probe behavior

        The exec probe runs the command; it expects a zero exit code for success. If the file /tmp/ready does not exist, cat returns non-zero, causing failure.
      2. Step 2: Check other options

        Command syntax is valid. Timing values affect delay but not constant failure. So the missing or unreadable file is the cause.
      3. Final Answer:

        The file /tmp/ready does not exist or is empty -> Option B
      4. Quick Check:

        Exec probe success = command exit code 0 [OK]
      Hint: Exec probe needs command to succeed (exit code 0) [OK]
      Common Mistakes:
      • Assuming timing values cause readiness failure
      • Misunderstanding exec command success criteria
      • Ignoring file existence for exec probes
      5. You want to ensure your web server container only receives traffic after it finishes loading configuration and opens port 8080. Which readiness probe setup best achieves this?
      hard
      A. Use an exec readiness probe that runs a script checking config file and port status
      B. Use an HTTP GET readiness probe on path /health with periodSeconds set to 1
      C. Use a TCP socket readiness probe on port 8080 with initialDelaySeconds set to 10
      D. Use a liveness probe instead of readiness probe to check port 8080

      Solution

      1. Step 1: Analyze readiness probe requirements

        The container must be ready only after config is loaded and port is open. TCP socket or HTTP GET alone cannot check config loading.
      2. Step 2: Evaluate probe options

        Use a TCP socket readiness probe on port 8080 with initialDelaySeconds set to 10 checks only port open after delay, Use an HTTP GET readiness probe on path /health with periodSeconds set to 1 checks HTTP path frequently but not config. Use an exec readiness probe that runs a script checking config file and port status runs a script that can verify both config and port, making it the best choice. Use a liveness probe instead of readiness probe to check port 8080 is wrong because liveness probes do not control traffic routing.
      3. Final Answer:

        Use an exec readiness probe that runs a script checking config file and port status -> Option A
      4. Quick Check:

        Complex readiness checks need exec probe [OK]
      Hint: Use exec probe for multi-condition readiness checks [OK]
      Common Mistakes:
      • Using liveness probe instead of readiness probe
      • Relying only on TCP or HTTP probes for config readiness
      • Ignoring initialDelaySeconds impact on readiness
      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