Probe failure and container restart behavior in Kubernetes - Time & Space Complexity
We want to understand how the system reacts over time when a probe fails in Kubernetes.
Specifically, how often the container restarts grow as probe failures increase.
Analyze the time complexity of the following Kubernetes liveness probe configuration.
apiVersion: v1
kind: Pod
metadata:
name: example-pod
spec:
containers:
- name: example-container
image: example-image
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 5
periodSeconds: 10
failureThreshold: 3
This config checks the container health every 10 seconds and restarts it after 3 failures.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: The liveness probe runs repeatedly every 10 seconds.
- How many times: It runs continuously until the container is restarted or stopped.
As the number of probe failures increases, the container restart attempts grow linearly.
| Input Size (failures) | Approx. Restarts |
|---|---|
| 3 | 1 restart after 3 failures |
| 6 | 2 restarts after 6 failures |
| 30 | 10 restarts after 30 failures |
Pattern observation: Restarts increase directly with the number of failures.
Time Complexity: O(n)
This means the number of container restarts grows linearly as probe failures increase.
[X] Wrong: "The container restarts immediately after one probe failure."
[OK] Correct: Kubernetes waits for the failureThreshold count before restarting, so restarts depend on multiple failures, not just one.
Understanding how Kubernetes handles probe failures and restarts helps you explain system reliability and fault tolerance clearly.
What if we changed failureThreshold from 3 to 1? How would the time complexity of restarts change?