✦ For everyone, free.

Practical knowledge for real and everyday life

Home

29 Kubernetes Reliability and Availability Basics

Kubernetes ensures reliability and availability through automated scaling, self-healing mechanisms, and fault-tolerant deployments across distributed clusters.

Kubernetes Reliability and Availability Basics is the set of design patterns and platform features that allow applications running on Kubernetes to continue operating correctly despite individual Pod failures, node outages, and planned maintenance events, without requiring constant manual intervention to keep them running.


Redundancy Through Replication

Multiple Replicas as a Baseline

Running a workload as a single Pod means any failure of that Pod, or the node it runs on, causes a full outage. Running multiple replicas behind a Service ensures that the failure of any single replica leaves the remaining ones available to continue serving traffic.

Spreading Replicas Across Failure Domains

Replication alone is insufficient if all replicas are concentrated on the same node or in the same availability zone, since a single infrastructure failure could then take down every replica simultaneously. Topology spread constraints and anti-affinity rules are used to distribute replicas across distinct failure domains.

availability as ( replicas , spread )

Pod Disruption Budgets

Protecting Against Voluntary Disruptions

A PodDisruptionBudget declares the minimum number or percentage of replicas that must remain available during voluntary disruptions, such as node drains for maintenance, preventing an operator-initiated action from accidentally taking down too many replicas of a critical service at once.

Voluntary vs. Involuntary Disruptions

Voluntary disruptions are actions initiated deliberately, such as draining a node for an upgrade, and are the only category a PodDisruptionBudget governs; involuntary disruptions, such as an unexpected node crash, are handled through other mechanisms like rescheduling and self-healing.


Health Checks and Self-Healing

Automatic Recovery from Failures

Liveness probes allow the kubelet to detect and restart containers that have become unresponsive, while the broader controller reconciliation model ensures that Pods lost due to node failure are recreated elsewhere automatically, without requiring an operator to notice and react manually.

Readiness Gating

Readiness probes prevent a Pod that is not yet able to serve traffic correctly, whether during startup or due to a transient issue, from being included in Service endpoints, avoiding failed requests being routed to a Pod that cannot handle them.


Control Plane High Availability

Redundant Control Plane Components

Just as workloads benefit from replication, the control plane itself is typically deployed with multiple replicas of the API server and other components, along with a multi-member etcd cluster using consensus-based replication, so that the loss of any single control plane node does not disrupt the cluster's ability to make scheduling and reconciliation decisions.


Graceful Degradation and Rollouts

Controlled Update Strategies

Rolling update strategies, combined with readiness probes, ensure that during a deployment, only a controlled number of Pods are unavailable at any point, allowing an application to continue serving traffic throughout the update rather than experiencing a full outage during releases.

Rollbacks as a Reliability Mechanism

The ability to quickly roll back to a previous known-good revision is itself a reliability feature, limiting the duration of any impact caused by a faulty release.


Reliability Layers Diagram

Replication + Spread across failure domains Health checks + self-healing controllers PodDisruptionBudgets + rolling updates