Bird
Raised Fist0
Kubernetesdevops~5 mins

Liveness probe concept in Kubernetes - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a liveness probe in Kubernetes?
A liveness probe is a check Kubernetes uses to see if a container is still running and healthy. If the probe fails, Kubernetes restarts the container to fix it.
Click to reveal answer
beginner
How does Kubernetes react when a liveness probe fails?
Kubernetes restarts the container to try to fix the problem when the liveness probe fails.
Click to reveal answer
intermediate
Name three types of liveness probes supported by Kubernetes.
Kubernetes supports HTTP GET requests, TCP socket checks, and running a command inside the container as liveness probes.
Click to reveal answer
intermediate
Why is it important to set the initial delay for a liveness probe?
Initial delay lets the container start up fully before Kubernetes starts checking its health, preventing false restarts.
Click to reveal answer
intermediate
What is the difference between a liveness probe and a readiness probe?
A liveness probe checks if the container should be restarted, while a readiness probe checks if the container is ready to accept traffic.
Click to reveal answer
What happens if a liveness probe fails in Kubernetes?
AThe pod is scaled up
BThe container is restarted
CNothing happens
DThe container is deleted permanently
Which of these is NOT a type of liveness probe?
AMemory usage check
BTCP socket check
CHTTP GET request
DRunning a command
Why do we use an initial delay in liveness probes?
ATo disable the probe
BTo delay container startup
CTo speed up restarts
DTo wait before starting health checks
Which Kubernetes object uses liveness probes?
AService
BConfigMap
CPod
DNamespace
What is the main goal of a liveness probe?
ATo check if the container is alive and restart if not
BTo check if the container is ready to serve traffic
CTo monitor network traffic
DTo update container images
Explain what a liveness probe is and why it is useful in Kubernetes.
Think about how Kubernetes keeps containers running smoothly.
You got /3 concepts.
    Describe the different types of liveness probes and when you might use each.
    Consider how you can check container health in different ways.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a liveness probe in Kubernetes?
      easy
      A. To check if a container is alive and restart it if it is not
      B. To check if a container is ready to accept traffic
      C. To monitor the CPU usage of a container
      D. To scale the number of pods automatically

      Solution

      1. Step 1: Understand the role of liveness probes

        Liveness probes check if a container is still running properly. If not, Kubernetes restarts it to fix issues.
      2. Step 2: Differentiate from readiness probes

        Readiness probes check if a container can receive traffic, but liveness probes focus on container health and restarting.
      3. Final Answer:

        To check if a container is alive and restart it if it is not -> Option A
      4. Quick Check:

        Liveness probe = container health check and restart [OK]
      Hint: Liveness probes restart unhealthy containers automatically [OK]
      Common Mistakes:
      • Confusing liveness probe with readiness probe
      • Thinking it scales pods instead of restarting
      • Assuming it monitors resource usage
      2. Which of the following is a correct way to define a liveness probe using an HTTP GET request in a pod spec?
      easy
      A. "livenessProbe:\n httpGet:\n path: /healthz\n port: 8080\n initialDelaySeconds: 5"
      B. "livenessProbe:\n exec:\n command: [\"curl\", \"/healthz\"]\n initialDelaySeconds: 5"
      C. "livenessProbe:\n tcpSocket:\n path: /healthz\n port: 8080\n initialDelaySeconds: 5"
      D. "livenessProbe:\n httpGet:\n path: healthz\n port: 'eighty'\n initialDelaySeconds: 5"

      Solution

      1. Step 1: Check HTTP GET syntax for livenessProbe

        The correct syntax uses httpGet with path and numeric port. "livenessProbe:\n httpGet:\n path: /healthz\n port: 8080\n initialDelaySeconds: 5" matches this.
      2. Step 2: Identify errors in other options

        "livenessProbe:\n exec:\n command: [\"curl\", \"/healthz\"]\n initialDelaySeconds: 5" uses exec with curl incorrectly. "livenessProbe:\n tcpSocket:\n path: /healthz\n port: 8080\n initialDelaySeconds: 5" wrongly uses tcpSocket with a path. "livenessProbe:\n httpGet:\n path: healthz\n port: 'eighty'\n initialDelaySeconds: 5" uses a string for port instead of a number.
      3. Final Answer:

        "livenessProbe:\n httpGet:\n path: /healthz\n port: 8080\n initialDelaySeconds: 5" -> Option A
      4. Quick Check:

        HTTP GET probe syntax = "livenessProbe:\n httpGet:\n path: /healthz\n port: 8080\n initialDelaySeconds: 5" [OK]
      Hint: HTTP GET needs numeric port and valid path [OK]
      Common Mistakes:
      • Using string instead of number for port
      • Adding path to tcpSocket probe
      • Using exec command incorrectly
      3. Given this liveness probe configuration in a pod spec:
      livenessProbe:
        exec:
          command:
          - cat
          - /tmp/healthy
        initialDelaySeconds: 3
        periodSeconds: 3
      What happens if the file /tmp/healthy is deleted inside the container?
      medium
      A. The container will continue running without restart
      B. The container will be restarted by Kubernetes
      C. The pod will be deleted permanently
      D. The liveness probe will be ignored

      Solution

      1. Step 1: Understand exec liveness probe behavior

        The exec probe runs the command. If the command fails (non-zero exit), Kubernetes restarts the container.
      2. Step 2: Effect of deleting /tmp/healthy file

        Without the file, cat /tmp/healthy fails, so the probe fails and triggers a restart.
      3. Final Answer:

        The container will be restarted by Kubernetes -> Option B
      4. Quick Check:

        Exec probe fails = container restart [OK]
      Hint: Exec probe failure restarts container [OK]
      Common Mistakes:
      • Thinking pod is deleted permanently
      • Assuming probe failure is ignored
      • Confusing liveness with readiness probe
      4. You configured a liveness probe with this snippet:
      livenessProbe:
        httpGet:
          path: /health
          port: 80
        initialDelaySeconds: 10
        periodSeconds: 5
        failureThreshold: 3
      But your container keeps restarting even though the app is healthy. What is the most likely cause?
      medium
      A. The port number 80 is invalid
      B. The initialDelaySeconds is too high
      C. The probe path /health is incorrect or not responding
      D. The failureThreshold is set too high

      Solution

      1. Step 1: Analyze probe failure reasons

        If the probe path is wrong or the app does not respond at /health, the probe fails and restarts the container.
      2. Step 2: Check other parameters

        Initial delay of 10 seconds is usually enough. Failure threshold of 3 means 3 failures before restart, which is normal. Port 80 is valid.
      3. Final Answer:

        The probe path /health is incorrect or not responding -> Option C
      4. Quick Check:

        Wrong probe path causes restarts [OK]
      Hint: Check probe URL path correctness first [OK]
      Common Mistakes:
      • Changing initialDelaySeconds unnecessarily
      • Misunderstanding failureThreshold effect
      • Assuming port 80 is invalid
      5. You want to create a liveness probe that checks a TCP port 3306 on your container every 10 seconds, but only start checking after 30 seconds from container start. Which is the correct configuration snippet?
      hard
      A. "livenessProbe:\n tcpSocket:\n port: '3306'\n initialDelaySeconds: 10\n periodSeconds: 30"
      B. "livenessProbe:\n httpGet:\n path: /\n port: 3306\n initialDelaySeconds: 10\n periodSeconds: 30"
      C. "livenessProbe:\n exec:\n command: [\"nc\", \"-z\", \"localhost\", \"3306\"]\n initialDelaySeconds: 30\n periodSeconds: 10"
      D. "livenessProbe:\n tcpSocket:\n port: 3306\n initialDelaySeconds: 30\n periodSeconds: 10"

      Solution

      1. Step 1: Identify TCP socket probe syntax

        The tcpSocket probe uses port as a number, with initialDelaySeconds and periodSeconds set as required. "livenessProbe:\n tcpSocket:\n port: 3306\n initialDelaySeconds: 30\n periodSeconds: 10" matches this.
      2. Step 2: Check timing and port correctness

        "livenessProbe:\n tcpSocket:\n port: 3306\n initialDelaySeconds: 30\n periodSeconds: 10" sets initial delay to 30 seconds and period to 10 seconds, matching the requirement. Other options have wrong timing or use HTTP or exec probes incorrectly.
      3. Final Answer:

        "livenessProbe:\n tcpSocket:\n port: 3306\n initialDelaySeconds: 30\n periodSeconds: 10" -> Option D
      4. Quick Check:

        TCP probe with correct timing = "livenessProbe:\n tcpSocket:\n port: 3306\n initialDelaySeconds: 30\n periodSeconds: 10" [OK]
      Hint: TCP probe uses numeric port and correct delays [OK]
      Common Mistakes:
      • Using string instead of number for port
      • Mixing HTTP probe for TCP check
      • Setting wrong initialDelaySeconds or periodSeconds
      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